Why would you recommend this to a newfag over of the overly shilled Rust / Go / D? Are there any cool projects that one can contribute to other than git, embedded and some networking tools?
Why would you recommend this to a newfag over of the overly shilled Rust / Go / D...
my nibba learn something useful like Java / C# or JS / Ruby on Rails
it's a good learning tool. you learn the basics and then move on
I wouldn't recommend it
Beginners to programming should start with ruby
it's pretty much the foundation of everything and good start to understand how shit is actually done.
I actually started with assembly, it's a bit hardcore, but again then you know how shit works the processor etc. Granted today the processor have become far more complex, already with p4 it was nobody that was able to pair instructions and so like you did earlier, except one nip professor or what he was.
Anyways if you go for the x86 at least you get to understand what the compiler actually does.
Sliding a bit here late, but both in linux and windows you get to learn the actual api in the bottom there which these other languages build upon again. I like to know how things actually work at lowest level and not just write some shit and it does crap for you, without understanding how it's all smacked together
Also c++ has really made a comeback the last years, I really love as I sort of consider it my native tongue if you will. Worked with asm and c first then asm c++ and I had to take school and after that it was c# crap for many years.
It kinda alarmed me how most of my coworkers really had no idea how the computer actually worked..... It gave enormous strength when shit really hit the fan and crashed. Yeah it can really crash and this was on windows too, so I knew the win32 api always and assembly too so it was easy to figure out what was causing it, while the other just stood there
Now I'm fed up with these garbage collecting make shit easy retard languages. I there is something I can script fast ofc I just make python stuff
So python, C and C++ not that much assembly really it's rare but I do it sometimes for sports
Learning the ins and out of this leave you ready to understand what C++, Java, javascript etc added and many topics are open to you like OpenGL Graphics or Unix OS programming and computer arch. C on its own is excellent and you can do a ton with lean data structs and function pointers.
Use it, to learn computer architecture and basic compiler.
I remember mmx and P2, those we sat and optimized critical routines for in assembly.
Some boolean operations could be done aside with this and that instruction.
And Oy vey watch or you get a stall and shit, that's you manage to "lock" the processor for a bit, like an airplane stalling hence the name.
It's so long ago so I don't remember anymore, but damn back then we were sick at this and always chasing to optimize as hard as you could. Really cool actually, I really miss that
Alright, enough. It boils down to this.
Do you want to be a nigger?
If so go ahead and waste away learning D and Rust and Ruby
If you are a professional you would see why you need to know C.
You are likely a nigger and can't be helped.
>Why would you recommend this to a newfag over of the overly shilled Rust / Go / D?
I wouldn't. They'd learn a lot of bad habits from the cancerous ecosystem alone.
>Are there any cool projects that one can contribute to other than git, embedded and some networking tools?
There is a couple of DOS games ports you can contribute to, like C-Dogs, freedroid-rpg or maybe some Doom fork, but their maintainers are mostly autistic, so be careful there... Or some legacy DEs like GNOME and some of their applications, because they really need it. In mid-term future Nystrom might finish his crafting interpreters tutorial and the C part.
That being said, most C projects are garbage tier for a lot of different reasons. Here is a red flag list:
- the original author is a "LEET HAXXOR" and life story blog poster like and , avoid them like the plague, they are the pinnacle of Dunning-Kruger syndrome
- usage of inefficient communication tools like mailing lists
- usage of garbage tier build-tools like GNU automake
- author has EE background (microcontrollers have little in common with modern CPUs)
- anything cryptography
- uses a C standard older than C99 despite not being that old
- uses GNU gettext
- is a GNU or *-BSD core project
- author thinks C is a good introduction to modern low level computing or to C++
- author thinks you need C to cater as many shit-tier scripting languages as possible
They shouldn't, though. They better have something simple, pascal or logo are still fine.
t. Ruby user
>If you are a professional you would see why you need to know C.
Java*
it's okay for educational purposes but there's no reason for a novice to make a new project in C and you probably won't be able to contribute much
I agree with this.
C++ was the first programming language I learned. (Really, I'm still learning it). When I started, because I was trying to teach myself, I was told to instead start with something like Python or Ruby. But at that point I was already halfway through my first book, so I persisted.
I'm happy with my decision. While I don't have a formal CS education, I have an idea of how my computer works thanks to C++. If I had started with a language that had dynamic typing and garbage collection I wouldn't have this insight at all.
My only regret is not starting with C and x86, but I have a chance to learn that now.
I've found that many introductory programming textbooks and resources tend to shy away from the actual interaction between the program and the computer hardware, instead focusing on abstract topics like OOP, recursion, design patterns, etc.. I think that approach is far too academic. It leads to students not understanding simple things like pointers, memory allocation, and stacks.
If i keep on studing asm
What jobs can i use it?
Its not a good starting language. I use C all the time, but I worked on writing HVAC controllers at first and now I'm working with controllers for signal processing. I worked a lot with FPGAs in uni. That's what its good for. Its a great language if you need to make very specific computations be done either extremely fast or drawing minimal power.
Yes, it's so easy that even brainlets can learn it.
>Rust / Go / D
Stop falling for artificial shilled memes.
pajeet btfo
Learn Python instead, you can actually build something useful first.
Go is the way to go eventually. but C is important as a starting language. it gives you the right mentality about programming and teaches you more about the computer.
learning assembly really pays off. you can learn it in a week and you can start programming in it.
but learning assembly is not important because you program in it, you probably wont. it's important because it's an eye opener. it teaches you a great deal about how machine works and what higher level languages turn into.
more free shilling
Don't listen to this person. He is the one who is actually affected by Dunning-Kruger syndrome because he believes anyone who is smarter than him must be autistic because how can anyone ever achieve such a feat? He is the smartest person in the world. Nevermind that he is actively telling you to not contribute to ongoing projects because they adhere to what essentially boils down to a list of personal opinions such as:
>they use the tools I don't like
>they use standards I don't like
>they use mailing lists
>the project is something I don't understand
>the author has a certain undergraduate degree
That last one is particular brand of horseshit.
C is a fine language to start down your path to becoming a programmer. It will test you, and stress you, but in the end you will become a much more knowledgeable programmer than most of your peers because you will know and understand concepts that confuse and scare them. This is how you turn out like If you wish to completely foolproof foundation in programming I would actually recommend reading and completing the exercises found in Structures and Interpretation of Computer Programs. This has become a meme among Sup Forums and the programming community, however it didn't get that way out of jest. It is a brilliant text and will teach you a good bit of functional programming which I believe every competent programmer should know.
>usage of garbage tier build-tools like GNU automake
because cmake is so much better
>- author thinks you need C to cater as many shit-tier scripting languages as possible
That's a valid point though.
another JS webshit here, wanna get into C and do the transition to C++ later. Why isn't there a good /dependency manager available?
you're gonna have a pretty hard time getting used to the lack of modules
C and C++ is dated as fuck when it comes to dependencies
C/C++ is literally a stepping stone/initiation.
Everyone gets through it, and becomes something more than he/she was before.
Like college initiations or fucking some landwhales in order to gain experience before going for better looking girls
Even if you want to go with low-level programming, you really should have a rough idea about the daddy of all low-level and most high-level languages
it's just how it is, user
>C
>low level
no
it's a mid-level language at best
Have you heard of things like Python?
Anyway, I'm interested to know what you think is a low-level language that's not assembly. Something arcane like C--? Or the intermediate compiler languages?
Python is high level
C isn't low level, asm and architecture-specific languages are low level
>mid-level
so what do you consider low level, your majesty?
Don't do it user, unless you hate your life. C is great for starting out, but if you want to make actual money, not just have fun with the gdb in your free time then I suggest you learn Ruby on Rails or Python and do some side projects until a corporate senpai notices you.
>so what do you consider low level, your majesty?
VHDL and Verilog
Basically this.
It should be mandatory to know the system internals even if your main job is programming in some mannaged language that never exposes the system.
Could help in the embedded field , however nobody really hires people in the embedded field if you havent graduated from a proper computer systems engineering program.
Knowing your ISA's assembly dialect will help you to debug system libraries if you encounter a crash in them and such.
C is a high-level language. There's no such thing as a mid-level language.
>C is same level as Ruby
okay
>C is a high-level language.
bruh I thought this is Sup Forums
>Recently got my first ever job
>Programming entirely in C
>Only ever used Java for university coursework
t. pajeet