ProgrammerHumor

true

true
https://i.redd.it/tfflh0l4emcf1.jpeg
Reddit

Discussion

Gadshill

Their fervent arguments likely revolve around abstract benchmarks and theoretical security guarantees, all while their own projects are probably being held together by duct tape, JavaScript fatigue, and a prayer that no one inspects the console errors too closely.

11 hours ago
kdt912
:c::cp::py::asm:

Embedded dev that had to do a local webpage for the first time recently, I was so worried about fixing any console errors I was creating but then I started opening dev tools on professional websites to compare and oh my god guys get it together why are there dozens of errors in production

9 hours ago
RepresentativeDog791

It’s not always up to the developers. Sometimes non-developers are allowed to insert tracking scripts dynamically, and they can be very noisy

9 hours ago
Piisthree

Jesus, it's a wonder anything works.

6 hours ago
kryptoneat

The web is laxist like that.

That being said, pick a nice stack and things can be fine. I have everything local and zero error in prod.

The world is likely moving from C++/Python to Rust/JS anyway, so both communities gonna have to learn to love each other :D

4 hours ago
VoidVer

Bruh the web app I work on has no errors. Any time someone would get one, I’d get a report automatically and fix. One day another engineer inserted some Google tracking shit, now every person who visits the site gets some “insert before is not a function of undefined” error. Why google why! What element could they possibly be inserting into the Dom? For what purpose!?

2 hours ago
sabotsalvageur
:rust:

And why is their "move fast and break shit" API passing errors into perfection?

1 hour ago
Dismiss

The beauty of PMs and middle management that only want short term results, don’t understand feature creep and code debt, coupled with decades of high staff turnover and migration to low cost countries where the original developers are long gone, left no documentation or any kind of reasoning behind why things are done that way, leading to current code owners that know absolutely nothing about the code they are responsible for. Which then are pressured to develop more features on impossible deadlines given to them by marketing execs and are forced to come up with something that barely works for 1 demo and immediately switched to another thing before they can finish the first feature properly.

9 hours ago
intbeam
:cp::cs::asm::powershell::py:

You get errors just by importing a library

My brand new spanking project required me to run npm install --force without me having written a single line of code. Spent several hours trying to figure out how to fix it, but the web of dependencies makes that impossible. @material also comes bagged with tens of thousands of deprecation warnings out of the box, which is only cool if one of the warnings doesn't happen to be important

It's not you, it's a tool set designed by and for amateurs. Using Javascript is an absolutely horrible experience that people defend because they have literally never written a single line of code in anything else

8 hours ago
blackscales18

You sound like a toddler, grow up lmao and maybe pick better libraries

5 hours ago
intbeam
:cp::cs::asm::powershell::py:

Or maybe I should just avoid Javascript? Seems like that would be the sane option, considering I would then in addition get more features, less bugs, lower build times, less complex infrastructure and better performance

4 hours ago
blackscales18

But consider: webbed site

4 hours ago
intbeam
:cp::cs::asm::powershell::py:

Hmm if only there were languages that fixed that.. Like compiling to some sort of assembly for the web or something.. Well, we can only dream

1 hour ago
blackscales18

So true! I love doing responsive UI design in c++

1 hour ago
sabotsalvageur
:rust:

Do all browsers support WASM?

1 hour ago
misha_cilantro

I don’t know but I bet wasm doesn’t talk to screen readers at all w/o explicit effort by the dev (which there will never be time/money for if anyone even remembers people have accessibility needs) :(

Any time you’re rendering text outside html tags it’s an issue 🤷‍♀️

50 seconds ago
SjettepetJR

I am wondering, I am personally doing a master's in Embedded Systems after a bachelor's degree in CS.

My main focus is computer architectures/hardware design, i.e. FPGA development for prototypes, but I want to improve my embedded software skills as well.

I have a decent amount of experience in C by now and of course have a good understanding of conceptual low-level programming such as ISA design and memory structures. However, I have almost no experience in C++ apart from some simple CUDA development.

I have started learning Rust, as I believe it has gained a decent market share by now and isn't likely to disappear, but do you think it is still important for me to have a good understanding of C++ as a junior?

What I like about rust is that it has a lot of compile-time checks, which I think is a better design approach for creating good maintainable code and proving correctness. Which is important in the many safety-critical systems low-level languages are used in.

3 hours ago
kdt912
:c::cp::py::asm:

Yes still learn C++, you’ll have to maintain legacy code

1 hour ago
SlightLeek1077
:js:

Fr the most passionate language debates always come from people with 500 TODO comments and production code that would make you cry

9 hours ago
programmerbud

LMAO exactly 💀
They’ll passionately debate Rust's borrow checker and C++'s UB like seasoned veterans, meanwhile their own React build is breaking because they updated one package.
Console flooded with red, but yeah-tell me more about zero-cost abstractions

9 hours ago
wasdninja

You can break any project when you are fucking around with dependencies. It's completely irrelevant how well the project is managed and written. It's true in every language with a package manager. 

8 hours ago
mcnello

You forgot about micro-services sir!

8 hours ago
Ronin-s_Spirit
:js:

Wouldn't be me. When I do purely scripting projects I end up writing pretty optimal JS, then the underlying engine usually optimizes everything else for me, and then if most of the code gets JIT compiled I'm practically running a C++ program (in terms of performance).

10 hours ago
martor33

Please say /s right now.

10 hours ago
Ronin-s_Spirit
:js:

Yes and no. It's not like I can do any benchmarks, the last time I tried to setup all the tools to actually make c++ programs - I couldn't do shit, not even a hello world. If had some c++ clones of my programs I could compare them.

9 hours ago
sorryshutup OP
:py::cp::js::cs::j:

Just use Visual Studio if you don't want to "have fun" with build systems. It's way easier.

9 hours ago
imtryingmybes

IDEs are for the weak!

9 hours ago
martor33

I write binary directly to memory like the old Altair 8800 gods intended.

9 hours ago
imtryingmybes

Lol thats practically vibe coding. I connect two wires at calculated intervals, coding with the electrical pulses.

9 hours ago
blackscales18

Is compiling with g++ that bad? I always found it to be fine

5 hours ago
sorryshutup OP
:py::cp::js::cs::j:

It's not a problem of gcc (or any other compiler) per se, it's rather a general problem of C++ that it lacks a standardized and easy-to-work-with build system.

A great part of Rust is that it does have such a system: Cargo.

In C++, you pretty much only have:

1) the de facto standard CMake, but, to say, it's not easy to work with, 2) Visual Studio, which doesn't require setup and is generally easy to work with.

And this is why I recommend Visual Studio to everyone who doesn't know CMake.

3 hours ago
RiceBroad4552
:s:

Have you tried Linux? It's pretty trivial to compile C/C++ on it.

Even if nothing else works, the C/C++ compiler works more or less always on Linux.

7 hours ago
Ronin-s_Spirit
:js:

No, and I don't believe I will ever use Linux.

6 hours ago
IllegalThoughts

then stay ignant playboy

6 hours ago
Ronin-s_Spirit
:js:

Uhm no. I want out-of-the box usability and compatibility, I want to code I want to game and I want to watch youtube videos. As far as I know the whole "open source Linux" thing led to increased pressure on customizability (even on a per person basis) - just look at how many distros there are. This is not ignorance, this is a choise.

4 hours ago
IllegalThoughts

ok definitely a troll lol. I guess have fun kiddo

4 hours ago
canb227

That’s nonsense, and an extra crazy thing to say when you admit you have no evidence or reason to believe it’s true.

For hardcore contiguous memory number crunching, C++ will probably be 50-100x faster than JS.

9 hours ago
RiceBroad4552
:s:

Actually not.

https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/node-gcc.html

Most VMs have quite extremely high memory overhead, but performance is actually quite OK-isch for JavaScript; and in fact on par, or sometimes even faster, for something like the JVM or CLR.

JS has the fastest dynamic runtime. You get "only" ~ 2 - 4 slow down in comparison to C, for optimized cases. And that in benchmarks that aren't nice to JS, namely mostly heavy number crunching.

For the usually pointer chasing app code, it's not really much slower than C/C++. Nobody can do magic, and JITs in fact output machine code close to optimum. (Sometimes even better than C/C++ which didn't go through PGO, as a dynamic runtime with JIT has PGO more or less build in, so you get it for free).

Like said, memory is more the concern. But with a VM that allows compact memory representations this can be mitigated to some degree. See for example the benchmark game results for C#. Future JVMs will also improve massively in that regard with the advent of Valhalla. For JS it's not really possible, at least if you don't count WASM, that can be almost as memory efficient as C/C++.

Of course starting a VM and profiling and then JIT compiling needs also resources, which aren't than available for the actual task. For long running processes that's not a problem, but for short running processes that's not optimal.

7 hours ago
_JesusChrist_hentai
:c:

PGO is implemented in a lot of compilers, if anything, C++ needs less profiling because it has types, JS can be more of a pain because in order to compile a piece of code, the JIT compiler must "guess" the type of each variable

6 hours ago
Ronin-s_Spirit
:js:

I feel like that's supposed to be in the opposite. I can have a continuous number buffer in JS, and a loop works exactly the same way in both languages. If anything - the more complicated things, which have some manual boilerplate automated away in JS (like arrays or something) would be lagging behind CPP.

You're also saying ridicuouls stuff like 50x-100x when you have no benchmarks whatsoever, lol.

9 hours ago
canb227

I think you have a fundamental misunderstanding in the way that computer programming works, and thats ok, it often doesn't matter when working at higher abstractions levels, but it can be really helpful to learn at a deeper level.

All a computer can do (going to be ignoring GPUs, they are not relevant in this case anyway) is a very limited set of operations on rows of data stored in the CPU cache.

As you seem to be aware, all programming languages are eventually converted into those low level CPU instructions, but think you're missing two things: 1. there can be immense differences in final machine code between programming languages, even for identical functions, and 2. JavaScript gets compiled and ran inside a Virtual Machine, which introduces even more quirks and changes to the resulting bare metal machine code.

Something worth thinking about is memory management. A huge proportion of all time spent in computing is waiting for things to be loaded and unloaded into/out of that CPU cache. Low level programming languages (C, C++) allow for manual memory management, controlling precisely where in your machine's memory data is being stored and read from. Javascript does not. It cannot, as it is being run inside a virtual machine.

As for benchmarks, 50-100x is in the more extreme cases, I will admit. Any googling of any relevant phrases will produce ample benchmarks of a more typical 10-20x slowdown. The other commenter has pointed out that in specialized situations, JS can get all the way up to 4x slower than C++.

While much work has been done to improve the performance of the javascript virtual machine, and it has accomplished some very impressive results in recent years, it is never going to be fast as C/C++. That isn't an indictment against the language, abstraction and compatibility with different systems is a huge upside of JS, but languages are just good at different things.

4 hours ago
Ronin-s_Spirit
:js:

I think you forgot about JIT - which literally does what any compiler does, it goes beyond bytecode. Repeated parts of the code are eventually JITed. Depends on it's heuristics which parts exactly are compiled. At that point a switch or a loop or even a function will be pretty darn similar.

And I don't see people shit on Java, which runs bytecode and people made a phone OS with it and desktop games...

I also don't need to manually memory manage, all I need to do is minimize the amount of allocations I do - then I will neither waste time loading things nor waiting on GC.

P.s. Plus v8 will optimize many things, such as having 4 kinds of arrays and deoptimizing them as needed (first being packed ints and last being array like object). The array example is something I know better - v8 will make specific backing maps for JS array depending on their elements, and there are contiguous and holey counterparts.

4 hours ago
canb227

People shit on Java constantly for these exact reasons, its why Microsoft ported Minecraft off of Java, for the desktop game example.

I did a quick spin on Google and couldn't find any indication that Javascript is even close to C++ (the 2x-4x slower special cases was the best I've seen), but I'd be happy to be proven wrong.

4 hours ago
Ronin-s_Spirit
:js:

That's good enough for me. I can iterate through my bad and good ideas very quickly, not waiting around for the program to run slowly or compile with a bunch of checks. I can be really flexible to the point of blatantly altering what the same 2 pieces of syntax or the same 2 functions do in different 2 situations.

4 hours ago
canb227

Agreed! Its one of the things Javascript is great for.

3 hours ago
hilfigertout
:r:

"ChatGPT, please write me some C++ code and some Rust code, and also explain the benefits and drawbacks of each so I can sound smart."

11 hours ago
BlazeCrystal
:py:

Its one wisdom to study the things and another clowning to spread the induced opinions as facts

10 hours ago
imtryingmybes

This is a pretty good thing to do when choosing a stack though. I still end up writing all backend in Go unless theres some cool node package i want.

9 hours ago
LvS

Except that AI just regurgitates the most common points that it learned from reddit.

3 hours ago
imtryingmybes

..and?

3 hours ago
LvS

It means you choose your stack based on reddit comments.

2 hours ago
EyesOfTheConcord

How do you choose your stack

2 hours ago
Them_EST

What do you mean? I have done a hello world project in both. C++ is clearly faster.

9 hours ago
RichCorinthian

That’s because hello-world in NPM drags 137 transitive dependencies along with it.

8 hours ago
BourbonicFisky
:js::ts::py:

Modern man requires modern solutions npm install hello-world

Really though I'm just waiting until the day I can to transpile my TypeScript into C++. I learned one programming language, why do I need others? It's going to javascript all the way down.

1 hour ago
RichCorinthian

That’s how we got Node.js, honestly. “That browser scripting language that was cooked up by one dude in 10 days? Everywhere with that.”

59 minutes ago
RandallOfLegend
:cs::m::rust::py:

Looking around for Haskell comments.

8 hours ago
tip2663

a monad is just a monoid in the category of endofuctors what's the problem

8 hours ago
reallokiscarlet

You know, if most rustaceans on reddit are really just web devs who don't know anything besides javascript... That would explain a LOT.

10 hours ago
Mayion

ngl recent years sent our way a big wave of devs who keep giving very controversial opinions. took me a while to realize that all they did was CRUD. not saying one is better than the other but man, coding really changed over time from creating complex desktop applications singlehandedly to web dev where everything is condensed into a service or library that does all the work for you.

makes sense they have been pushing for browsers to replace desktop, and why half of them suck ass lol

7 hours ago
fedsmoker9

This is why I was always so confused when I read programmer opinions on Reddit. Then I realized everyone chiming in is a web dev. Us solo desktop devs still exist!

7 hours ago
reallokiscarlet

Web devs take over, supply chain attacks go brrrr

20 minutes ago
[deleted]

[deleted]

8 hours ago
ChalkyChalkson

What is low level cpp to you? You'll find a lot of people with a science background who had to suffer with projects written around tools like geant4 or root in cpp. But if you're looking at hiring be aware those are people who have learned to live inside some hideous code bases. (eg classes that don't implement abstract methods of parent classes leading to undefined behaviour or constructors randomly shuffling order of parameters and which are passed as pointer value or reference)

8 hours ago
The_Cers
:rust::cp::ts::py::bash::re:

Rust programming is so rewarding. If your crate compiles successfully, the program probably works, no weird silent errors.

10 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

That is very far from true on bare metal. I'm writing an OS kernel in Rust and there is still plenty to debug that the compiler can't catch. But Rust is by far more productive to work in than C or C++ and it lets you write by far more readable code.

3 hours ago
Not-the-best-name
:py:

Are there any rust frameworks with a nice ORM and admin like Django yet?

10 hours ago
martor33

SeaOrm is pretty complete tbh. It has an optional admin that you can integrate into your program.

9 hours ago
ColonelRuff

Yes, loco.rs

10 hours ago
quinn50
:c: :cp: :j: :js: :ts: :py:

and also have good devex? Intellisense was unusably slow the last time I tried out rust and it killed any motivation to continue working with it.

7 hours ago
Not-the-best-name
:py:

Funny because ruff is such a nice fast Python linter.

7 hours ago
quinn50
:c: :cp: :j: :js: :ts: :py:

I'm not talking about separate tools like that, when I tried using rustanalyzer with a few dependencies installed it would take up to 20-30 seconds to see any intellisense or errors in my ide. I was on a 5900x at the time when it was current

I have a 9950x now and would be interested to give it a go again but that really soured my mood to try rust outside of basic apps

7 hours ago
dercommander323

Interesting, my 6700k has always done it in under a second. Only occasionally do I have to wait for cargo check to finish, it sometimes seems to get stuck on something. But I haven't experienced that at all for a while now

4 hours ago
anachronisdev
:cs::cp::bash::py:

Apart from the admin stuff, ef core in C# is one of the best ORMs I've ever seen. The shit you can do with it before running into any performance issues and having to execute pure SQL is mind blowing.

5 hours ago
Not-the-best-name
:py:

Interesting... I worked with it once, it was just so boring lol.

3 hours ago
Joe-Arizona

I’m just a hobbyist but after starting with web dev and moving to C++ almost exclusively I don’t understand how anyone can like web dev.

Web developers are talented for sure, I’m not hating on them. Web development as a whole is a fucking mess though. JS is atrocious. The package managers, dependencies, and 500 frameworks are a disaster. It’s a miracle anything works.

5 hours ago
Competition_Enjoyer

Fellow webdev here. C++ is the best language of all times. Rust stinks.

10 hours ago
decadent-dragon

Rust is the only language I’ve seen where I couldn’t even get a general idea of what was going on. I dunno if it was the codebase or the language but it was strange. We were supposed to port the program to another language. The idea got abandoned outside of my control so I never had to learn it

I don’t know C++ either but I’ve had to go in a make bug fixes before and it was mostly intuitive.

7 hours ago
_JesusChrist_hentai
:c:

Skill issue

6 hours ago
decadent-dragon

For sure, I do not know rust. But over the years I’ve had to read or make small changes to projects in 10 or so languages and that’s the only project I couldn’t sus out what was going on.

6 hours ago
_JesusChrist_hentai
:c:

I can see how idiomatic rust might be hard to read if you don't even have the basics, but tbh every time I try to read C++ my mind goes numb (skill issue on my part too)

6 hours ago
decadent-dragon

The code I had was written by one person that had left so it could’ve just been bad code too

6 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Shows how little you know.

3 hours ago
Them_EST

C++ is def superior to rust. Still js is the goat.

9 hours ago
VenBarom68

js is for glue eating mouth breathers

9 hours ago
soelsome

I think JS can be very elegant. I've written in Python, JavaScript, TS, C#, Java, and Dart. Of all of those I probably prefer Typescript, but JavaScript is a close second.

9 hours ago
ALittleWit

I think I just threw up in my mouth a little bit.

8 hours ago
soelsome

What don't you like about the language? I often see arguments that JavaScript code is poorly organized and architected. That's fine, but that's a decision the developer makes. Hence why I said JavaScript can be very elegant. For example, a senior engineer at my company rewrote a portion of our .NET Core frontend in a very impressive, organized fashion that made total sense, was abstracted nicely, and followed clear architectural principles. But yeah you do see a lot of horrible JavaScript code, but that's because it's the most widely adopted language today.

8 hours ago
ALittleWit

JavaScripts biggest issue is a lack of good standards, or a standard library.

I’ve built plenty of projects like what you’re describing, but that only works in a bubble. In my experience, the second you have a project with more than one developer it falls apart pretty quickly. It’s extremely rare to find a project that doesn’t heavily rely on NPM and/or bloated frameworks. It’s a generalization, but that’s what most JS developers are conditioned for. The number of times I’ve come across simple projects using something like React because “it has everything we might need later”, or “it’s easy to find developers who know React” is pretty gross.

A lot of JS developers are either lazy or inexperienced as well, which is how you end up with situations like the left pad debacle. Most of the JS community is quick to reach for a package that does something they need without considering that what they might actually need is a simple function they could write on their own.

In my opinion, most of the modern JS ecosystem is no better than the Wordpress ecosystem. It’s mostly garbage because there were no guardrails back in the wild-west days of the web.

The final comment I’ll make is that I think there is an over dependence of JS to do stuff it was never designed to do. I personally feel like JS is fine for building interactive features on the front-end, but JS has no business being used on the back end. Just because you can doesn’t mean you should when there are other, better options. Other than in synthetic benchmarks, a Go backend is going to run circles around anything written in JS. If what you need is more organized code, using something like Symphony or Laravel would be a better choice.

JavaScript has become a shitty Swiss Army knife. That’s my biggest gripe with the language. I don’t mind writing JS at all, but I have to sit eyeballs deep in sewage on most JS projects. That’s the biggest turnoff.

7 hours ago
soelsome

So it seems you have a problem with the community in which you associate JavaScript with, but not JavaScript itself from what I can tell from your comment. If a JavaScript codebase has clean code, good architectural practices, and clear abstractions, I think it's very similar to working on something like a C# codebase or a Python codebase or a Java codebase that follows the same principles. This works for my company, at least for our newer codebases and not the legacy code, because we're all adhering to maintaining those core set of principles.

6 hours ago
stipulus

Very true. Javascript gives you "all the rope to hang yourself with," as they say. It allows you to write almost whatever you want. That can either be a disadvantage or an advantage depending on the developer. Typescript, though, is just silly, in my opinion. It just adds restrictions that you could follow in your js if you wanted to and bloats code.

7 hours ago
soelsome

I feel like you can make similar mistakes in other languages like Python. I agree, ideally you just have clean JavaScript, but TypeScript does a good job guiding better practices. The worst is when you see the any keyword popping up all over the place.

7 hours ago
stipulus

Exactly. It's just rules that you could follow. Like training wheels. Did it actually change how types function or just put a rule on top of js?

7 hours ago
hearthebell
:elixir-vertical_4::js::py:

He definitely has never worked on a clean JS projects and just here to gather some "JS bad" karma. JS definitely can be elegant it's only because the user base is so gigantic so the chances of seeing egregious codes are higher. Doesn't mean it's inherently bad, it could happen to any language

7 hours ago
ALittleWit

I’ve been working with JavaScript since 2004, and currently maintain projects written in vanilla JS, jQuery, Vue, React, and Svelte. I started my career doing mostly marketing agency work but have been self-employed for the past 10 years. I still do mostly greenfield work since I subcontract for several big agencies, but a good portion of my work also involves maintaining legacy projects. Hence the active vanilla JS and jQuery projects.

Having said all of that—JS bad.

7 hours ago
hearthebell
:elixir-vertical_4::js::py:

Brother you are working on codebases that use technology 15 years ago with actual typeless JS. It is as disconnected to the modern world as it can be. JS is only becoming better and better with modern human intervention like typescript and various newer standard approaches, which all lack in legacy code base.

IDK what to say if you bring up jQuery codebase and say JS is bad, I mean sure dude...

6 hours ago
Them_EST

Still you can't use the broken reddit without it.

9 hours ago
VenBarom68

it's broken because only stupid people use js of course the end result is going to be garbage

9 hours ago
soelsome

Are web devs software engineers, or are they not worthy of such a prestigious title?

8 hours ago
mcnello

In classic Reddit fashion, Reddit is gate keeping the term. Bunch of fart sniffers think that their in-house .pdf -> .csv converter is the best thing since Jesus turned water into wine.

7 hours ago
soelsome

Yeah I'm of the view that if you're developing software, whether its web, mobile, CLI tools, appliance facing software, whatever, software is software, then you're a software engineer if you're doing it in a professional capacity. The term engineer might be a bit debatable in the sense that we don't have to get certifications and licenses in the same way civil engineers or structural engineers do, but that's a broader topic of discussion.

7 hours ago
RunicWhim2

I call myself a Computer Programmer because that is a prestige title.

Maybe it's just an American thing but.

"Engineer" is a real professional title. In fields like civil or electrical, it comes with certification, responsibility, and legal accountability.

I think it’s strange seeing programmers argue for the same title just because they write code. Writing code isn't the same as designing systems where lives or infrastructure are at stake.

All the software engineers I work with including myself have engineering degrees related to our field of work.

If any programmer wants to call themselves a software engineer, I mean who cares, but it does kinda signal ego and insecurity over substance.

5 hours ago
mcnello

Yeah... "software engineering" is a weird one.There is a meaningful difference in school curriculum and what they end up doing.

(1.) Computer science nerds: Study mathematics, algorithms, and data structures, to produce and improve software.

(2.) Computer engineering nerds: Study electrical circuits, physics, and networking to produce hardware. (Robotics, embedded systems, hardware, etc.)

(3.) Software engineering: ???? 🤷🏻‍♂️

2 hours ago
rustysteamtrain
:py:

In many countries (not the US) "Engineer" is a protected title that you can only receive by getting a masters degree at a Technical University.

A software engineering curriculum is often a mix of 1 and 2 (In your description). With extra courses about design paterns, system design, applied group projects or more nieche things like proving program correctness.

1 hour ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Nobody who writes software is an engineer. Software engineer is a stupid title and one that as an operating system developer I refuse to use.

That said if all you know is web dev then don't pretend that you're on the same level as system programmers. That would be the equivalent of an electrician thinking he's on the same level as the electrical engineers who designed the power grid.

3 hours ago
tracernz

Plenty of electrical engineers write software for a living. Are they still engineers?

1 hour ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

By education, yes. By profession, not anymore.

I've gone the opposite way. My education is computer science but the work I do is very clearly computer engineering. I still do not call myself an engineer.

1 hour ago
tracernz

I tend to agree. I'm running "Software Developer" since moving into software development, even though I hold an EE degree and have experience as a professional engineer in my previous career.

42 minutes ago
mkwiiallpro
:bash::c::cp::py::j::s:

"none of yall deserve the title of engineer until you build something with your hands" -one of my college buddies, he was a MechE

2 hours ago
stipulus

Depends on if they got the bs in cs.

7 hours ago
soelsome

So what makes a software engineer is a computer scientist? I don't think that's true. Some of the best software engineers I've met don't have a degree in computer science at all.

7 hours ago
stipulus

True but you asked how to distinguish web devs and most web devs have just gone to code schools. That for me is the easiest distinction. You are right though, there are some brilliant self taught coders I've worked with that I would call engineers.

7 hours ago
soelsome

There are boot camps for ML, are they ML devs or ML engineers if working in that space?

7 hours ago
stipulus

Good question. I don't work exclusively in machine learning so I'm not as able to make a distinction. From my understanding that a lot of ML devs are just running a few lines of python and the sophistication comes just from the tools they use. I guess the general difference for me is are you just following a happy path you know will work or do you really understand what the code does in order to build the best system to solve a problem.

7 hours ago
AutomaticWeb3367

Learn Cpp after learning Rust and I'm just wondering why people would willingly use that language

8 hours ago
G_Morgan

The answer for that is pretty simple. Anything that might use C/C++ already exists and is already written in that language.

It is also worth noting that nearly every replacement language was focused on stopping people from making non-system programs in C++ rather than replacing C++ in system land.

There was a time frame where C++ programmers might have jumped on a language that was "C++ but look we got rid of stupid shit like headers" but nobody made that language.

3 hours ago
LvS

The biggest reason to use C/C++ by a HUGE margin is the fact that every other language can consume code written in it.

Try using Rust from C++...

2 hours ago
MeIsMyName

But is it webscale™?

5 hours ago
apparently_DMA

Im on the picture and I dont like it.

4 hours ago
Outrageous-Low-6571

Is it very difficult to learn C++? As a beginner, I feel like a lost guy at a island. It's very difficult than I thought.

4 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Difficulty is subjective. But C++ is a very messy language.

3 hours ago
sorryshutup OP
:py::cp::js::cs::j:

If you don't have any experience with other programming languages, then definitely yes.

If you do have experience with other languages (especially those of the C family), then, imo, no.

Pointers and references are often considered the most difficult part of C/C++. Other than that, it's not really that much different from other languages of the C family.

After all, most programming languages start off of the same set of fundamental ideas, just with different sets of additional features: C# has LINQ, C++ lets you directly interface with hardware, TypeScript gives you functional programming, etc etc...

If you want to learn it:

1) If you already have experience with programming, then I'd suggest learning C until you learn these two topics and then moving on to C++. Though, you will have to unlearn some habits after the switch (like malloc and char pointers). 2) If you don't, I'd suggest starting small: learn Python. It's easy (relative to other languages), it's powerful, it's widely used and teaches you a lot about programming basics.

3 hours ago
sabotsalvageur
:rust:

I no longer have to deal with front-end and/or client-side shenanigans. Because I have been promoted to customer

1 hour ago
whizzwr

You are just describing this sub lol

6 hours ago
VenBarom68

Java chads win again, as always.

9 hours ago
sorryshutup OP
:py::cp::js::cs::j:

Boilerplate 🔥🔥🔥

9 hours ago
VenBarom68

Readable code 🔥🔥🔥

9 hours ago
sorryshutup OP
:py::cp::js::cs::j:

public class AbstractFactoryFactory extends AbstractFactoryFactoryFactory implements Factory 🔥🔥🔥

9 hours ago
VenBarom68

More than 10 year old stereotypical memes that makes it clear you don't actually have any knowledge 🔥🔥🔥

9 hours ago
Conscious_Switch3580
:cp::c::ru::perl::hsk::asm:

oh yeah? go ahead, show us how it's done.

8 hours ago
SCRIPtRaven
:sc:

Just use Scala. Readable, safe and no boilerplate

9 hours ago
VenBarom68

Scala is for devs who don't understand software development beyond writing some code.

9 hours ago
SCRIPtRaven
:sc:

Fake, gay and nonsense

9 hours ago
VenBarom68

Damn I've been found out, I forfeit.

9 hours ago
ChalkyChalkson

I learned with java. Now all my colleagues hate me because even small projects have deep inheritance and corresponding file structures.

It's also ridiculous that writing "Hello world" requires you understand imports, public, class, static, methods String, arrays and return values. Why can't it be like a normal language and just allow you to compile println("Hello World");? Why do I need to give someone a 90min lecture about OOP principles when all I want is for them to check whether their IDE is setup correctly

8 hours ago
sorryshutup OP
:py::cp::js::cs::j:

Java 21+ introduced unnamed classes and instance main as a preview feature, so you can print "Hello World" like this:

java void main() {     System.out.println("Hello, World!"); }

8 hours ago
VenBarom68

skill issue

7 hours ago
myselfelsewhere

It's also ridiculous that writing "Hello world" requires you understand imports, public, class, static, methods String, arrays and return values.

I can't believe I have to understand programming in order to program!

8 hours ago
Front-Difficult
:ts::js::py::m::bash:

Wait until you find out all modern web tools have been re-written from JS to Rust. Rust is the go-to language of choice for compiled binaries for the web now (it used to be Go, and that's still popular, but in my experience Rust is now more popular than Go).

Obviously the average web dev isn't maintaining their own tools, or contributing to big open source libraries, but the ones that discuss C++ vs Rust likely are.

9 hours ago
soelsome

Isn't TypeScript being rewritten in Go?

8 hours ago
Front-Difficult
:ts::js::py::m::bash:

Yes

8 hours ago
thearizztokrat

I hate C++, dislike using rust and love web dev, so of course my fav. "low level" language is C, because it just feels so good to write

6 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Just say you've never written any software worth writing home about and then shut up.

3 hours ago
Regular_Comment_948

I write C++ when forced to, have never written a line of Rust and I hope it stays that way.

F# > Scala > C# for me.

8 hours ago
stipulus

It is unfortunate web developers often don't get the 4 year degree where you will definitely be writing some c++.

8 hours ago
Objective_Bison9389

That's why I stan for Elixir. It's just better than everything.

6 hours ago
LordAfterEight
:rust:

Damn people here hate Rust a lot

2 hours ago
Frozen_Shades

How dare you! goes back developing a code analysis tool with AI

9 hours ago
lelarentaka

They don't write in either language, but they are very exposed to the issues and vulnerabilities of systems languages.

Web apps run on top of web servers, containers, VMs, databases, caches, routers, and proxies, most of which are written in systems languages. The security and robustness of web apps rely on the security and robustness of the underlying systems.

9 hours ago
BestYak6625

I work for a large org as a security engineer. I help oversee security for a couple thousand sites and none of any of the web devs give a single shit about any of that. More often than not they request that we just get rid of the WAF altogether so they have less hassle 

6 hours ago
yo_wayyyy

ill get downvoted but who cares, i havent written single line but i hate rust because its mostly used by guys who wear girls socks and that always cringes me out

10 hours ago
sorryshutup OP
:py::cp::js::cs::j:

1) what do you have against programming socks? (/gen)
2) my teacher used to say "There is no such thing as a "bad programming language". Each language is good for its area of usage.". I also don't like Rust (since, imo, its approach to memory safety makes the programmer focus more on fighting the compiler rather than actually developing), but I don't have anything against Rust devs and projects written in it. It's a good language for what it's worth.

10 hours ago
Sw429
:rust:

its approach to memory safety makes the programmer focus more on fighting the compiler rather than actually developing

Once you get the hang of Rust, you no longer feel like you're fighting the compiler.

4 hours ago
yo_wayyyy

As i said, it cringes me out.

Second point doenst make sense in this post context.

10 hours ago
JuciusAssius

that still doesn't explain the missing semicolon jokes

10 hours ago
yo_wayyyy

im not that deep into this 

10 hours ago
ColonelRuff

Who told you that false facts ? And why is your iq so low ?

10 hours ago
yo_wayyyy

facts ? in this meme context? 🤣 

and talk about iq 🤣🤣🤣

9 hours ago
Antlool
:cp::c::rust::asm:

but i like them 😞

8 hours ago
umomaass

Write? Why write? Just used ChatGPT or other people's code.

6 hours ago
Ronin-s_Spirit
:js:

But I know how they look (Rust is horrendous) and I kinda know how they work (unless it's Rust, which has like 3 times the amount of syntax).

10 hours ago
MichaelHatson

Guy who picks programming language based on how it looks

9 hours ago
nobody0163
:c::cp::cs::py::ts::asm:

Readability is a valid reason to pick a specific language.

8 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Rust is much more readable than either C or C++ and unlike literally all of this sub, I've written real-world low-level system software in all three.

3 hours ago
Ronin-s_Spirit
:js:

More like on how much setup it needs. Trying to compile and run cpp source code was a nightmare for me back then. Also it's not like I'm using haskell, JS can still get shit done without requiring 3 buisness days.

9 hours ago
Conscious_Switch3580
:cp::c::ru::perl::hsk::asm:

skill issue

8 hours ago
Ronin-s_Spirit
:js:

Probably, but I bypassed it and coincidentally found a beautiful language which has the best friction/flexibility/performance balance.

8 hours ago
ninjacookies00

Using JS as an example of being good at any of those is laughable. I seriously hope your entire account is satire and that you're just bad at it.

8 hours ago
Ronin-s_Spirit
:js:

I don't see how that's a bad example, you could show me some proof.

7 hours ago
Sw429
:rust:

Three times the amount of syntax compared to what? Rust is a fairly simple language to read.

4 hours ago
sorryshutup OP
:py::cp::js::cs::j:

Yes, Rust is (mostly) easy to read to those who have experience with it or at least C-family languages.

Though, sometimes I do find its syntax weird:

1) Out of all different variants, why is ' the symbol used for a lifetime? 2) Why is everything shortened? What does stuff like dyn even mean and do?

I'm not saying that the language is bad, but I do find some of its design choices weird.

2 hours ago
Ronin-s_Spirit
:js:

Have you seen a Rust snippet next to a JS or even a CPP snippet? Because you have to tell the compiler everything (for it to check memory safety) you end up with tons of text doing much less than I'd come to expect. I also don't like friction in languages and Rust is at the pinnacle of friction and compiler fighting.

4 hours ago
Sw429
:rust:

Do you have an example? I've done years of both C++ and Rust and never found Rust to be more horrendous.

But sure, it's gonna be more verbose than JS because Rust doesn't do garbage collection, so naturally you'll need to express lifetimes. But projects I'm using Rust for are projects where I don't want garbage collection anyway.

4 hours ago
Ronin-s_Spirit
:js:

No sorry - I don't write Rust, and I'm not sure I'd even be able to setup a compiler. A while back I tried to setup a cpp environment and it was miserable. I do however see both those languages occasionally, sometimes as a tangent and sometimes when researching stuff.

I could easily accept manual memory management, but I've also seen Zig and it looks significantly less cluttered.

4 hours ago
Sw429
:rust:

In other words, you're the literal embodiment of this meme.

4 hours ago
Ronin-s_Spirit
:js:

I agree, but I don't have to write them to know some things. Otherwise that would be a paradox, nobody would be able to learn a language.

3 hours ago
LavenderDay3544
:rust::c::asm::cat_blep::py::bash:

Setting up a Rust toolchain is a one liner, Einstien.

3 hours ago
Ronin-s_Spirit
:js:

And where exactly does your line go, Watson? Also, I'm not interested in writing Rust atm.

3 hours ago
Sw429
:rust:

The command line? Lmao where else?

1 hour ago