Learning C in 2019

>Learning C in 2019

How's it feel to be obsolete?

Attached: rust.png (600x600, 249K)

Other urls found in this thread:

rust-lang.org/what/embedded
stackoverflow.com/questions/1201593/where-is-c-not-a-subset-of-c
embeddednodejs.com/sbc/
blog.japaric.io/microamp/
twitter.com/SFWRedditImages

Which operating system do you use user?

Mac OS

Fedora

How could you even do embedded systems without C.

Oh... you're a web developer?

With cpp

Sometimes only the C compiler is available

Based&Rustpilled.

Attached: 1560067270.png (767x639, 111K)

rust-lang.org/what/embedded

With java

Sorry I should have specified I was looking for serious replies only. Noone uses Rust

>languages DO matter
how does it feel to be broke OP?

>shilling a meme language
Have sex.

Rarely.

>rust tranny is screeching again

Attached: b.jpg (662x602, 212K)

Only HolyC

RUST stands for Really Useless Shitty Tech

R U Straight or Tranny?

JS works fine on modern embedded devices which is what matters since nobody produces 70's crap anymore.

Our place uses C++11. Actually most 'based' companies use that. Better than Java and Python.

>having to ship an interpreter on your device
Why do JS fags shit everything up

This. Embedded is a very low level world where very few programming languages can survive. It is also a massive industry and it isn't going anywhere with the rise of IoT and computers in everything. C is just as relevant today, if not more so, than when it came out.


C++ is alright for embedded, it can occasionally be useful if you're careful.


How do you plan on getting the JVM running on a ARM Cortex-M0? You don't.


The creator of Rust said it shouldn't be used in any commerical embedded project for at least another 5 years.


Jesus Christ. For the love of God please don't claim that JS can be a legitimate embedded language.

Nonsense, there's nothing wrong with learning a subset of the most powerful programming language.

Attached: bjarne_long.jpg (603x324, 105K)

lol

*writing linux kernel modules for living*

> Thinks C is a subset of C++

user please get some help, I am worried about you

literally a cuck - a fucking populist without prior CS knowledge. only a degenerate would design an unsound type system in the post Hindley–Milner type system age.

btw, this fuck were in the very same Bell Labs which did research in SML stdlib and compilers.

imagine SML would have been evolved instead of this fucking crap

b-but the C++ standard says so

stackoverflow.com/questions/1201593/where-is-c-not-a-subset-of-c

It can't be a subset if some C code breaks C++

What is the point? All the features specific to c++ is useless or even counterproductive on embedded systems, so you'd end up writing C anyway.

C# is the best

with learning how to write xaml and c# I can
>make websites with backend using asp.net
>make apps for iPhone and Android using Xamarin
>make windows apps and programs using wpf
>make games using unity

at the same time faggots learn react or angular because of "muh high salery".
In 10 years they will have to switch their js library, because it is outdated.

In 10 years with C# I will have reached the 10,000-Hour Rule and become an expert

>websites
>apps
>unity
kys

Each C-language has its purpose, to say C# is "the best" is a bit of a broad statement. It is definitely the best at a lot of things, but you'd never try to write an OS or program an embedded RTOS in C#

Conversely, you'd never ever design games or any kind of web stuff with C

Each one has its own uses and specialties and I think we can agree there is a right and a wrong tool for each job :)


But yeah fuck Rust and JS

you can even install libraries for modbus or for microcontroller communication with a few mouse clicks.

Not him, but I use Arch.

>Websites
A fuckton of money and super high demand

>Apps
A potential to make a fuckton of money, also high in demand

>Unity
One of the most popular game engines in the world, meaning high demand


Sounds like someone is mad they chose to work for banks managing legacy Java code

>implying I have a job

Android

>embedded RTOS in C#
ok, that is true, that would suck.

I would define it differently.

c# is the best in the amount of fields you can work in as an outcome of the time you invested to learn it.

C++
>Gui 4/5 (with QT)
>Platform compability 3/5
>Web 0/5
>Embedded 4/5
>Apps 2/5

Java
>Gui 2/5
>Platform compability 5/5
>Web 3/5
>Embedded 2/5
>Apps 3/5

C#
>Gui 5/5
>Platform compability 1/5
>Web 4/5
>Embedded 0/5
>Apps 4/5

Python
>Gui 1/5
>Platform compability 4/5
>Web 4/5 (django)
>Embedded 0/5
>Apps 0/5

ok, maybe java is better overall in the amount of fields you can use it in, but guis in java really suck.

>Learning C++ in 2019
fyp

>money is main factor in choosing career and hobby
How does it feel to be a code monkey?

Great points and you're completely right, I would say right now C# is the most powerful and versatile C-language out right now, you can break into a lot of fields with it and it is actually a pretty good language itself. Thank you for having a rational argument with me on Jow Forums user, I hope you have a wonderful day :)

Get on the times, Js is servicable
embeddednodejs.com/sbc/

>Embedded
>Raspberry Pi's and beaglebones

Alright I'd have to say JS is fine if it's running on an actual Linux board doing webserver stuff, but if someone tries to convert JS into ARM assembly for microcontrollers I will have to burn someone's house down

>embedded
>can only run with OS
>servicable
JavaScript will never be able into embedded systems since it is scripting engine

>strong typing
>raii
>useless
go away cnile

Shut up you fucking nigger

I've used polymorphism in an embedded project before. Creating a GUI seemed much easier that way.

>How dare you prove me wrong? I-it doesn't count!!!
It's afraid.

I'm looking to learn C and be obsolete in 2019. Just for fun and because I need a project for summer. I got a copy of "C programming a modern approach" by a friend. Can any cnilefag overlord tell me if it's any good?

If you want to learn C read "K&R 2nd edition"

Just Google it and you can either buy it for cheap or find a free download

>Not knowing C in 2019
How's it feel to be uneducated, flooding the world with shitty, bloated software?

Those who can't, don't, and to soften their own failure they regard as fools those who did. A programmer who doesn't understand C is condemned to magical thinking and table-scraps forevermore.

>strong typing
Strong typing is a spook. The only real typing distinction is static vs dynamic typing.
The notion that implicit conversion somehow makes typing "weak" is absolutely fucking retarded.
Even then, C++ is barely more "strongly" typed than C.
>RAII
Miss me with that OOP shit

C is like python with pointers imo

>The only real typing distinction is static vs dynamic typing.
Wrong.

>The notion that implicit conversion somehow makes typing "weak" is absolutely fucking retarded.
You're a fucking moron.

>Even then, C++ is barely more "strongly" typed than C.
Sepples isn't perfect, but it's better than C in this regard.

>Miss me with that OOP shit
Retard, also, "miss me with that" fucking learn proper English, retarded zoomer cunt.

Not an argument.

Careful user, you'll get shot for saying something that stupid in Jow Forums

Does it look like I'm fucking trying to argue, retard? I'm letting you know you're stupid as shit, and I'm not going to waste my time bothering replying to a brainlet who doesn't understand the value of strong typing or doesn't understand that RAII has nothing to do with OOP. Seriously, you're fucking stupid and ignorant. I say this unironically, read a book.

You don't learn C because it's useful in the current job market (and even this is not entirely accurate: embedded systems and systems programming do, after all, exist). You learn it because it's a nice middle road between autistic assembler and toddler stuff like Java. It gives you a very solid foundation to go in either direction.

Feels good to earn enough money to do whatever you want on the side.

I don't feel like moving from C. Only real problem is lack of modern resources.

>manually calling the destructor everywhere makes me a better programmer
No it doesn't. Cope.

>implying you do anything besides sitting in front of a computer, whether at work or at home in your free time
You're not fooling anyone, user.

ah forgot autists can't sense irony

Hey man, there are some people out there who are legitimately that stupid, can never be too sure on Jow Forums

Lmao salty fuck is projecting

What did I just tell you about using proper English? Drop the zoomer slang, it's stupid as hell.

Both with Rust and C++. Practically all system level languages without garbage collection and manual memory management.

Does anybody have that fake interview about the creation of C++

What the fuck am i witnessing?

I've never heard about anyone using Rust or C++ for embedded. I mean beyond for fringe hobbyist purposes.

K n king.

Rust for embedded is silly, but C++ is widely used in embedded. We used to do that in my old job, and most of my buddies I studied with that ended up in embedded are using C++ too.

Arduino literally uses C++. Go hide yourself immediately.

By the time you get to the 10.000 hour.... C# will be useless.

Even Microsoft put way more resources now in both C++ and Rust. Yes they wrote a super fucking fast webserver in Rust. MICROSOFT wrote that.

C# will be more like a boring business script language to make boring business applications with forms for boring business people.

C# is boring. It's for balding people with a big belly and wearing a suit with an ugly business suitcase. Thinks he know all about CS (but doesn't) and only talks about how people want to build up their form to enter data in that comes in their SQL database.

>java
>web 3/5
you know jack shit you nigger, ever heard of frameworks? more than half of the people I know working in backend business use spring

Depends on what you define as embedded. What is your hard definition?

No MMU = Embedded? or....

What about RTOS, Linux with Preempt_RT patch? With Realtime C++ written on it?
In a small device? Is that embedded? NO? YES?

What is defined as embedded? Only 8 bit PIC/AVR?

>How do you plan on getting the JVM running on a ARM Cortex-M0? You don't.
What is Java Card ?

Not the guy you are responding to, and he is definitively a retard for thinking that Java isn't widely used for web backends, but Spring is the most boomer enterprise shit I've ever worked with. Add half a dozen decorators and Spring generates 1500 lines of magic code in order to "muh dependency injection" meme. There are way better frameworks for web that aren't Spring, but sadly everyone just disconnected their brains in the mid 2000s so now everyone is using it and no one wants to use something else (read: managers don't see the point).

That's for hobbyists tho, like I said.

>cherrypicking the single post that confirms your narrative rather than replying to the other posts that correct you

If you unironically use Java for embedded programming you need to get help

I concur to your point good sir, but please do the needful and consider that the pleasures pertaining to workplace experiences I've had have been limited to boomer enterprise businesses

Weird, I've never encountered that in the field. It's all C or ASM. Maybe practices differ. Can you mention any proper embedded systems you or your buddies has worked on?

No.

Well, as this guy said , embedded is a very wide field. I've rarely used assembly, that's for really low-end stuff where the EEPROM isn't big enough to hold compiled routines. In my previous job, I worked mostly with ARM stuff, and GCC does a pretty decent job for sepples on ARM. Some of my buddies currently are working with Tegras (which is also using ARM). I have one friend that used to work with Atmel/AVR microcontrollers back in the day, as in professionally and not meme Arduino... They obviously support C++, as mentioned before. My current job is higher up the stack (working with kernelspace stuff now), but ironically I've moved down the stack in terms of programming language by using C.

>as this guy said
That guy obviously don't know anything about embedded at all, seeing how he's going on about Linux and microcontrollers from 20 years ago.

> In my previous job, I worked mostly with ARM stuff, and GCC does a pretty decent job for sepples on ARM.
Ok, cool. I'm not saying you're wrong, I'm just saying what my experience is. As far as I'm concerned and what I'm connected to it's almost entirely C and ASM.

Rust is something you clean off of a car.

Can I embed JS in my PIC microcontroller

If you manage to write C code that is invalid C++ you are a fucking idiot and deserved to be ridiculed.

Well, aren't like 99% of SoCs made these days using ARM and higher-level systems are using Intel Atom anyway?? Genuine question, as that's my experience at least.

char *buf = malloc(30);

welp, I guess I'm an idiot and deserve to be ridiculed

Plenty of variables in the Linux kernel are named stuff like new or try or even delete.

>>Learning C in 2019
>How's it feel to be obsolete?
I will let you know when C becomes obsolete, OP.
For now, C is still very much in demand.
Of course, if all you've ever done is web development, then anything outside JavaScript and markup languages is probably beyond your ken.

Linux and Micrcontrollers from 20 years ago.

You just made my point.
Microcontrollers of today are either high performant or extreme battery performant.
The high performant ones can be easily programmed with C++ and some of them can even run Linux.

The microcontrollers that are purely focused on power usage are mostly written in assembly and C.

It all depends on the application. But alot of Embedded systems when using a kernel are mostly written in C++ on top of the kernel.

Below that you have high end microcontrollers which you can program with C++ directly. But you lack alot of nice things you would have with a kernel.

Under that you have the lower performing microcontrollers that are mostly programmed with C or Assembly. But these days high performant microcontrollers are so dirt cheap that buying a low end microcontroller isn't cheaper anymore.

> In 10 years with C# I will have reached the 10,000-Hour Rule and become an expert
You do realize that you're just using some rip off fake version of Java, right?

typedef enum {A, B, C} class_t;

struct thing {
class_t class;
bool public;
};
Oh no look at this horrendous C-unlike code!

I work in embedded and it looks very promising. I'd consider it for greenfield projects, if using something like a cortex m.
It is also interesting that most of the relevant crates are written by just one dude.
blog.japaric.io/microamp/

void template(int typename, void *ptr)
{
}

I definitively think it has a potential, but I don't think it is mature enough yet though. But it probably will be in quite near future.

It depends where you work really.
I don't remember exactly which microcontroller line it was, but in my job before last, all they had was either assembly or C. C++ was not available for that microcontroller line.