is this the dark souls of programming languages?
Is this the dark souls of programming languages?
Read a book and stop watching shitty youtube videos
>language wars
If you were a real dev and not some sort of larping neet you would have known that it doesn't matter. You're expected to pick up and write decent code in any language after a few weeks. It won't be very idiomatic but it should be decent at least.
Assembly
anyone that can't use it calls it a "waste of time", anyone that can just says "git gud"
language wars are fun though
it's more like a game that's been bloated with mods
Is not hard but not the easiest one, there are a lot more difficult languages that are not used so much.
no. programming is easy. having a brain capable of solving logic problems is hard. who gives a fuck if it's if or iff or ifel or efoi oeof 023roifwfe
syntax doesn't mean shit.
learn how to learn. if you do that you can learn annnnnnnythiiiiiiiiiing brooooooo.
Assembly is really interesting, but it's only practical for a few people.
It's not that hard, it's just very simplistic and somewhat redundant. Also, it's not universal.
But, for optimization sake, it is the best, period.
C is more of the dark souls of progamming language. C++ is like Lords of the Fallen or Nier.
It's crazy. Very easy in the beginning but if you skip ahead and start taking final tier tests and quizzes, that shit will make eyes melt.
True that you can just not use all the advanced stuff but I'm not sure you're getting the most out of the language by doing so and that's a nagging feeling.
C is nothing but portable assembly. Everything you do in C can needs to be easily replicated in asm. That's why language is so limited and so hard to write safely. It's to maintain 1:1 relationship with asm.
“C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off.”
- Bjarne Stroustrup, creator of C++
lmao
C++ is more like assembler with extremely complex macros on top.
>janky as hell
>mess of stuff just slapped together with no rhyme or reason
>poorly documented
>pretty hard, but mostly just tedious
Checks out.
C was a language that made programmers which new it at an advanced level into mainframe system programmers as C was used for everything.
Big corporations didn't want to pay the wages that a system programmer deserves to every C programmer so C ++ was made.
Then pentium and quake happened along with fast inverse square root subprogram and C ++ became the high level programming language for 3D games.
It ugly, its robust, it doesn't forgive mistakes, but its fast. Fast.
It matters as evidenced by the fact that writing C++ code interacting with untrusted input with no vulnerabilities is impossible.
If its dumb and it works it aint dumb
Professional C++ dev here.
> Very powerful and capable, but often obtuse and ass-backwards.
> Can do anything that every other programming language does and more, but half of the interfaces are tedious and annoying in comparison (especially iterators, fuck C++ iterators)
> Setting up many fairly basic datastructures involves mountains of boilerplate now (rule of 5)
> Has tons of power with no safety checks when you drop to raw pointers. Nothing but your own knowledge will keep you from a segfault.
> People will just tell you to git gud, ignoring the fact that gitting gud in C++ won't save you from having to work with shit C++ code written by other developers
> There are always 50 ways to do the same goddamn thing.
> Compiler errors when templates are involved are an unholy nightmare. Better than they used to be, but still fucking horrible.
It's more like Dwarf Fortress in a lot of ways. The "git gud and just never make a mistake" safety arguments are all Dark Souls, though.
I hope Rust takes off so many programs could be written in a way that isn't mindboggling and impossible to maintain.
I'm in love with it, so far. I've transitioned a few codebases at work to Rust to pretty great effect. I recently took this monster C mess at work that stores timestamp+float32 records by Uuid and rewrote it in rust because the C original leaked memory like mad and fucked up storing records because the original programmer never checked that read actually filled its buffer into Rust, and it's incredibly fast and stable, not to mention it actually has sound and sane interfaces for extension and proper development.
The only thing I really use C++ for these days is targeting AIX+PowerPC, because LLVM and Rust don't target AIX at all yet. Once Rust hits AIX, I'm completely retiring C++ for new projects at work.
> never checked that read actually filled its buffer
that's super trivial to fix, why port over the entire program instead lmao
>is this the dark souls of programming languages?
The Turing Machine.
Doesn't get more Dark Souls than that.
>imagine deciding to be a programmer
>imagine deciding you want to sit on your fat ass and code while your clients treat you like a sub-human
>imagine having to compete with teenagers in their bedroom who are willing to take $2 an hour to code
There's a reason most coders end up being professors or just give up
>There's a reason most coders end up being professors or just give up
lol what
Those were the minor things. The biggest problems were the memory leaks and that the program presented very inconsistent interfaces, constantly returning pointers to structures that needed to be checked and cleaned up in particular ways. Fixing the buffer fill, various locking issues, most of the memory leaks, and other interface issues with C would have necessitated rewriting 90% or more of the codebase in the first place, and then it still would have been in unsafe C that I can't trust (I am the only C expert at my work; I only mostly trust the C that I write, and I definitely don't trust the C that my Ruby-focused coworkers write), so we decided to just use a more safe language from the ground up rather than aggressively valgrinding it while tracing every potential path, and then have to face the implication of aggressively memory checking it every single time anybody needed to make changes.
I get that the whole "rewrite it in Rust" thing is is overblown and annoying, but in this case (and many others), rewriting it in Rust was less effort and time than propping up the original project to be checked, fully and completely smoketested, mostly reliable and still having worse interfaces would have been.
It's true. You either make it as a coder or you have to live in one of the most shittiest industries in the job market.
Enjoy working for pennies with your HTML knowledge and occasional C++
This is a fantasy. Being a good programmer is still a lucrative career and it's pretty easy to be hired for $75k+ if you're worth your salt. You don't have to compete with the skiddies and five-dollar Indians unless you're competing for building the CRUD app behind Grandma's Garden Garage, your local brick-and-morter store. Non-retarded companies realize that cheapshit programmers cost them more money in technical debt than they save with their cheaper rates.
If you become a web programmer who specializes in building dumb websites and HTML frontends to simple SQL databases, that's your own fault for deciding you want to be in the most over-saturated, low-paying, and low-quality part of the industry.
>programmer
> $75k+
yeah maybe for cyber security at the CIA
How do I get a job once I graduate in about a year?
If you're asking that question, you're already looking at it wrong.
>yeah maybe for cyber security at the CIA
Y-yeah, who would program for the CIA? h-hahaha lol
Start looking a year ago.
Lmao what? How should I be looking at it?
Man, I work for a tiny automation and systems management company, and I was making $63k at the age of 22 by my third year here. I make $80k now, and I know tons of other programmers who do the same thing.
You're only paid shitty oversaturated market wags if you stay in the shitty oversaturated market, which is CRUD apps, webshit development, and stupid-simple mobile applications fronting CRUD apps. Backend and good internal development is lucrative if you put in the extra effort to get good at it, and you can get a job anywhere. Every major company has tons of shitty rickety internal processes that need maintaining, managing, and extending.
If there is one field where degrees are worth less than toilet paper its programming. You better have a decent portfolio because no one is going to give two shits about your college "experience".
this.
Going to college to learn programming is fucking worthless. The best programmers are the ones who learn it themselves and work their way up from programming websites for shitty local stores.
Absolute bullshit larp. What a load of bollocks.
Just be anything but a code monkey, and $75k isn't far off.
No need to sell your soul.
>Backend and good internal development is lucrative if you put in the extra effort to get good at it, and you can get a job anywhere
What would that backend programming consist of?
Over this next year, put in extra effort on your free time to learn a bunch of different programming languages (you should probably have at least a passing knowledge in Python, Ruby, Perl, Java, C, C++, and JavaScript), and build and maintain at least a handful of personal projects on a public repository like GitHub as a portfolio (and also to build your skills in problem solving and actually getting shit done). Apply for jobs even if you don't have the necessary experience if you believe you could reasonably perform them, and when interviewing, be able to demonstrate that your ability makes up for your lack of experience in the specific area they ask for (they tend to ask for way more experience than they actually need).
The biggest thing is actually building up a portfolio and practical knowledge.
Terry A Davis was the smartest programmer who ever lived and he ended up dying.
Learn Scheme
how do I learn?
>Setting up many fairly basic datastructures involves mountains of boilerplate now
Can you elaborate
>Has tons of power with no safety checks when you drop to raw pointers. Nothing but your own knowledge will keep you from a segfault.
Modern C++ has plenty of alternatives to raw pointers
>Compiler errors when templates are involved are an unholy nightmare. Better than they used to be, but still fucking horrible.
This is the only legitimate criticism