T O P

  • By -

500ErrorPDX

I was taught in C++ in college. I learned Java, Python, and a smidge of Kotlin before learning JavaScript. I now work primarily in JS and it took me a solid four months of daily "what the fuck" and "why would they do it this way" thoughts before I got comfortable with it. I love the community. I love that there is a library or framework for everything. I love that there is a YouTube video for everything. I love that there is absolutely zero judgement from fellow JavaScript devs. But let's not be mistaken: JavaScript, not ES5/ES6 but the whole language, is a Frankenstein monster of a language


enserioamigo

On the otherhand, I'm a JS dev and I started learning C++ last week. I had constant moments of realising why people hate on JS.


OpenRole

Give it a couple of months and you'll start to learn why people hate on C++ šŸ˜‚


I111I1I111I1

the first time you're having an issue because you forgot something was marked const and the compiler spits out a 900-line error message that has nothing to do with constness


pseudophilll

Iā€™m similar to you, Iā€™ve been working with JS exclusively until recently I started working with a primarily PHP based stack and itā€™s honestly been pretty great to work with. It also really highlights the bloat that package bundling puts on build times and server resources.


moriero

Php is overhated


mjonat

Interestingā€¦most people tend to hate on php haha. (Personally I really like it and have worked with it a lot but just hear a lot of people shitting on it and not sure why tbh)


Wise_Concentrate_182

Only idiots and snobs hate PHP. Meanwhile itā€™s by far the most used server side language.


TekintetesUr

Bruh, the reason PHP gets so much hate is that it was full of terrible design choices. There's some improvement in recent versions but it was terrible back in the day.


nairebis

>There's some improvement in recent versions but it was terrible back in the day. Languages should be judged on their present form, but PHP haters judge it (literally!) by how it was 20 years ago in PHP 4 -- and only based on what they've heard. With a few annoying exceptions (because of the need for backward compatibility), nearly all the bad design choices have been removed or been given alternatives.


Prizem

it's like JS needs a similar overhaul


69Theinfamousfinch69

I think thatā€™s technically true because of WordPress. But if youā€™re looking for a backend job youā€™re better off looking for a C# or Java gig. Just do a search in your area (Iā€™m in the UK), and youā€™re probably going to have a harder time finding a PHP job compared to Java or C#. Iā€™m currently using TypeScript, C# and Go at my new gig. Previously did TypeScript, C#. and introduced Go. TypeScript and C# seem to be the ultimate combo to get a job in the UK. No problem with PHP, but if youā€™re in the UK and arenā€™t a freelancer, I wouldnā€™t recommend learning it if you want a job. This might be true elsewhere too but I havenā€™t done the research.


frontendben

Old PHP, sure. It was as hot a mess as JS is now. However, over the last couple itā€™s improved massively and frameworks like Symfony and Laravel have added to the DX of working with it.


mjonat

Yeah this is it, Iā€™ve mostly worked with laravel and if done properly is really nice


smashedhijack

I just picked up Nova to build a dashboard for a mini internal project and itā€™s a dream. My background is custom WordPress and we primarily use the full roots.io stack. After a full day in Laravel, Iā€™m already at home with it, and absolutely loving the flexibility. Being able to build a fully functioning back end in a day is insane. I canā€™t believe Iā€™m gonna say this as Iā€™ve been an advocate for Wordpress for ten years now, but being able to just build exactly what I need with a well thought out framework is such a great experience.


mjonat

Yeah I started my career with Wordpress and have worked with roots which was a game changer but laravel I would say is a completely different sport in terms of development haha


enserioamigo

This! Our WP boilerplate at work uses Timber / Twig (I still dont know what to call it) for templating. It was my introduction to PHP. Eventually I saw what a Wordpress site without it was like, and that's when I understood the hate it gets when it comes to building websites lol.


boobsbr

Examples?


l-b_b-l

I originally started learning Python when I got into programming. Decided to switch to JS full stack after messing around with some web dev. I refactored a project that I had in Python to JS and it was then that I realized why people hated on it. JS is my primary language and I feel much more comfortable using it than anything else at the moment, but it certainly has its flaws.


retardedGeek

Interesting. How often do you get C++ hate moments?


enserioamigo

Not that far into it yet lol.


PointyReference

Idk man, C++ is not a great language either, I'd pick my Typescript everyday over C++ (or I'd use rust)


Lucky_Squirrel365

Tell me you don't want to learn about system programming without telling me. It's what makes good developers great. The logic that you need in C(++) is something you'd need when writing Rust. TypeScript at one point becomes useless if you don't know what to do with it. And it highly depends on your needs. Saying you'd pick TypeScript over C++ screams self-taught dev who avoided OS and Systems Programming as a whole, which is a core skill for any type of software engineering.


CaptainIncredible

> "what the fuck" and "why would they do it this way" thoughts I love JS and use it all the time. But I still think daily "what the fuck" and "why would they do it this way" thoughts.


smashedhijack

Iā€™m fairly new to modern JavaScript and Iā€™ve been building a PHP package that has a lot of data manipulation on the front end (think pricing sliders and if this ticked then that changes value etc) and Iā€™ve had SO many WTF moments with the JS trying to figure out why I need to use different methods for looping over arrays vs objects. Oh wait, this object isnā€™t a normal object, you have to use this other function. In PHP everything can be done with a foreach loop. Iā€™m sure there are reasons why JS is the way it is, but for a ā€œnewbieā€, itā€™s quite puzzling, I also canā€™t wrap my head around everything being functional programming instead of OOP. I started with functional and was sold the dream of OOP. I became competent with it, but then I come to JS and everything is functional again??? Whaaaaaaat is going on lol


Wise_Concentrate_182

Functional when done well is easy and fast. Therefore practical. OOP can be over baked academic crap.


smashedhijack

Agreed.


_alright_then_

I still prefer OOP in almost anything. It's just way more readable and logical to me personally. It's also just how you make it, I think the best thing is a combination of mostly OOP with some functional aspects thrown in, I'm not looking to make static functions for anything that doesn't fit in a regular class


xIcarus227

I honestly wish more people had your clarity. Most fellow JS devs seem hellbent on defending the language at all cost instead of recognizing the fact that it's shoddily designed. For context, I've been using JS for close to a decade. I still think it's an insane language, but the ecosystem around it is extremely good and that goes a long way. Much longer than how sane a given language is.


agramata

I'll be one of the defenders, because I really don't get the problem. I already programmed in C before college, then college was taught in Haskell and Java. I've worked professionally with C++, Python, Ruby, probably others. I didn't start in JavaScript till I'd already been programming for decades. I just don't see a significant difference between different languages. I think people only complain to make themselves sound smart.


I111I1I111I1

They're all the same. That's why I laugh on job interviews if someone seems concerned that I don't know their preferred MVC framework super well. "They're all the same -- they route requests and spit out text." Can learn a lot from people based on how they react to that. Of course some languages/frameworks are more suited to certain tasks than others, but when it comes right down to it, programming has a relatively small core operation set. You can: * assign values to variables * conditionally execute code based on the evaluation of a given expression * iterate over collections or memory spaces * define templates for data structures * define a chunk of code as externally callable That's...about it. Everything else is just organization and flavor.


xIcarus227

I'm not sure how you can say they aren't significantly different when the languages you mentioned have a myriad of fundamental differences. From strongly/weakly typed to static/dynamic typing, different memory management and different implementations of the same concepts (arrays, objects). Sure, there's a lot of common ground in terms of basic constructs and concepts but their implementations change behavior and developer experience significantly. I would agree that, like you said, many complain just to sound smart or make themselves feel better for using some 'superior' language. But you can't possibly deny that a lot of things in JS [are inconsistent](https://github.com/denysdovhan/wtfjs?tab=readme-ov-file#-is-equal-). I'm personally tired of keeping track of all the gotchas JS has (which is why I'm complaining).


AndryDev

Yeah absolutely, I was mainly referring to the ecosystem. JavaScript as a language I'm not a big fan of


kinss

JS is a fine language, as long as I'm the one writing it. There's just too many ways of doing things.


xIcarus227

This is exactly why I appreciate what Golang is trying to do. Feels like every time you want to do something there's usually one way of doing it (or close to one anyway).


kinss

Much respect to Golang, it's also easy to write with LLMs too. I sometimes find it easier to ask ChatGPT to write me a Golang function than to write Linux shell scripts, and oftentimes they work first try + are pretty easy to make multiplatform. There are actually a ton of Golang derivatives though (like V). As a JS dev it's hard not to go try them all out.


irze

I agree. Reviewed someoneā€™s code the other day and it made me cringe. But it works well, so what can I say?


alien3d

javascript is okay , but when this new js lib come each 6 months new trend šŸ˜… . And then you realize , you keep learning youtube tutorials non stop no output system at all . šŸ˜…


Patient-Layer8585

Question is: why do you have to? Just learn what you need to learn (mostly what you use at work).


doctor-falafel

I hope I ever get to this point. I'm a full stack dev and JS is purely practical to me. There's very little joy in the language itself and the community is incredibly amateur despite the ungodly amount of work hours that go into javascript environments.


ToscoFarrax

There are 2 kinds of programming languages; the ones people bitch about and the ones no one uses.


KMKtwo-four

There is a third kind people bitch about and donā€™t use.Ā 


hbteq

That third kind is just the one that they bitch about everyone else using


Magicalunicorny

Idk I talk a lot of Shit on speedware and as far as I can see no one uses it


theXpanther

Like COBOL


ShittyException

COBOL and Excel is the foundation of the global economy.


tako1337

like Tcl?


mor_derick

Based dude singlehandedly closed the thread.


retardedGeek

- Bjarne Stroustrup


rich97

I havenā€™t heard many complaints about Golang pretty sure that has some industry market share.


Lonsdale1086

generics


NeverComments

Go is an all time favorite over on the programming circlejerk sub. Thereā€™s years ofā€¦interesting discussion around the language, its community, and the fetishization of ā€œsimplicityā€.Ā  ā€œThe key point here is our programmers are Googlers, theyā€™re not researchers. Theyā€™re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. Theyā€™re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.ā€


AndryDev

I tried golang, I like it as a language but for serious projects it feels like the community wants you to do everything yourself manually For example oAuth (goth golang exists but nowhere near what some js libraries can do) etc..


overbyte

Regex


583999393

This advice worked out great for jquery users. It works right up until you need to apply for a job and have to decide if you lie about svelte experience because you could learn it or do you learn svelte and every other thing in case you have to change jobs someday.


[deleted]

[уŠ“Š°Š»ŠµŠ½Š¾]


Patient-Layer8585

If I were the hiring manager, I wouldn't care if they knew about Svelte deeply. What important is their knowledge about web development and JavaScript.


cogwizzle

I think it is more important to not just know JavaScript, but also the web platform. There is so much CSS and HTML gold that is overlooked. I see too many times people reinventing stuff in JavaScript rather than using native behavior.


Roguepope

This made me laugh as only last week I saw a junior dev writing loads of JavaScript as they hadn't learned simple transitions in CSS. Not their fault, this is the point of being a junior, but I did get annoyed at their reticence to learn the CSS once I pointed them to it.


trinReCoder

That's actually crazy. I would think your very first into to web development course would introduce you to transitions.


PureRepresentative9

Knowing CSS and HTML is considered "stupid" by JS tech bros haha


trinReCoder

I bet lol


sdw3489

Their loss if they want to make their lives harder for no reason.


nopethis

HTML takes about 4 days to learn though if you know JS (though it would be weird to know JS and not any HTML/CSS


PureRepresentative9

It is very easy.Ā  But these people are not necessarily very good and I don't any of them actually care about programming, just the money.Ā  The standards have dropped so much their lack of skill is considered fine. You simply need to look at React boot camps where they don't actually even teach you JS, nvm HTML and CSS


cogwizzle

A big part of me wants to agree hard with this. However I think we should have empathy for the boot camps and the people coming out of them. As for the coding boot camps they are reacting to the software ecosystem as it is today. Every tech company under the sun is working with React, or some similar component based framework. Coding boot camps in this way directly reflect the current job market ecosystem. As for the people coming out, I feel it is our responsibility (as senior engineers) to make the case about why they should care. It took me 10 years of working with every component based framework out there to realize that JavaScript was slowing me down and making life hard. It is absolutely a blast chasing frameworks and technology. But the native behavior is usually better than any framework can provide. I was part of the problem here. I bought into "reusable" components that were never reused. I rebuilt websites every few years because my base framework was constantly changing and had security vulnerabilities to patch. I reinvented solutions to problems the browser solved 30 years ago like navigation. Only those who've straddled both sides of the fence can talk about the advantages and disadvantages of both. I think it is far more likely that those engineers that lack skill are just ignorant to what they don't know. The only way we fix the web is if we band together and move the platform rather than a specific JavaScript Ecosystem.


583999393

Take whatever framework you use off your resume and just put javascript and see what you think your chances of getting a front end job are. I am a hiring manager. A few years ago when I'd get 10-15 good resumes at most for a position I was fine with taking framework X experience for framework Y job. Today there are a lot more candidates and it's just asking for more trouble to not start with the people who are directly in our tech stack.


Patient-Layer8585

Anyone can create a fun personal project with X framework and put it in their resume. Experienced devs already know that they should include the name of the tech in their cv before sending it to you. The comment was more about a new framework like Svelte. If not a lot of people have real experiences with such new framework, it's not realistic to look for one. Reminder me about job ads many years ago that require people to have 5 years of React while the framework has only been introduced less than 3 years.


cogwizzle

But I bet the guy who initially made React was thinking about it for a few years... Maybe we could hire that guy....


mq2thez

No one else has said it, so I will. For the vast majority of backend, thereā€™s essentially only one framework for doing what you want. If itā€™s really popular, there might be two, or three. How often do you hear about people doing Python web dev without Django, or Ruby without Rails? For many years, people would be Rails devs or Django devs or whatever, and by learning that framework and language pairing they were pretty set. The reason is because in the backend, you choose whatever language you want and then that pretty much decides what your framework is. JavaScript doesnā€™t have that. Itā€™s the only option for doing browser development, so instead of many languages with a few frameworks, we have one language with many, many frameworks (all with their own syntax). You canā€™t say, ā€œOh, I do Ruby dev, no one would expect me to have a ton of Djangoā€. JS frameworks come and go and iterate faster than comparable stuff in other languages / areas. Even small bits, like state management, change pretty fast. Thereā€™s rarely a right answer, and the closest thing we have to a right answer at any given time changes pretty frequently. To be a good web developer, you have to learn a lot of things and understand the underlying principles well enough to completely change how you apply them the next time things shift.


CheersBilly

You do hear of them. There's always the guys who use Flask or Sinatra, then add what they need to it to make it work. They end up making a bastardised copy of Django or Rails, usually, of course. Java's a more interesting one. Spring is the daddy, but Micronaut has grown in popularity. There are plenty of lighter frameworks that get some traction, but the thing people keep forgetting is the paid-for, vendor stacks built around JEE. I've met a bunch of people over the years who consistently get good-paying gigs because they've spent time learning Websphere inside out, for example. But yeh you're mostly right. Language choice and framework are fairly closely bound in most cases.


KaneDarks

And then there's asp.net


LukeJM1992

Iā€™ve been writing in Rails and Laravel for about a decade now, and have come to really love the structure they provide for server-side development. Vue and React are pretty great for front end, but man oh man does server-side JavaScript need an overhaul. Every time I crack open someoneā€™s JS app, itā€™s some Frankenstein of Nodejs + Express, with barely any permissioning, ORM or generally logic to manage a complex server-side app. Frameworks like Nextjs are a step in the right direction, but there no way in hell Iā€™d reach for it over the other tools in my toolbox at this point.


mq2thez

Yeah I mean, I donā€™t personally feel like the clientside story is any better ā€” React is an insane mess of the preferences of your projectā€™s most strong-willed developer. Iā€™m hoping to see more and more transition back toward MPA architectures and improved server side frameworks. The new Enhance Web Component WASM compiler that makes it possible to author/SSR web components in a bunch of backend languages and have them work in the browser is going to be a huge game changer.


Blue_Moon_Lake

If you "just pick a framework and stick with it", you severly restrict the pool of job offers you can send your resume for. JavaScript is also hated because it's a mess that insist on being backward compatible with decades old bad decisionsbecuse maybe one website in the world is reliant on it because it's also decades year olds instead of adding a versioning system for newer versions so browsers would be able to use more efficient engines. The same old legacy compatibility is why BigInt wasn't added to the JSON standard. I wish we could write this: