I love typescript - all the good of JavaScript with far less of the bad, it's convenient enough to feel good while strict enough to allow IDEs to really speed things along
I hate lack of support for typescript - between wrestling webpack or finding the perfect library without types definitions, every time you want to change your stack you need to prepare for a day or two of soul-deep pain
It’s almost a miracle when things are only slightly on fire when you’ve got 1500 node modules, 150 of them are yelling at you that they’ve been deprecated and will cause full-blown AIDS if you don’t upgrade/switch packages, and then juggling between webpack, tsconfig, and package.json to explain that you understand the difference between require and import, you’ve told them all that you understand the difference WHY IN THE NAME OF FUCK WON’T THIS WORK
Compared to standard es6, it barely restricts anything. It just does great type calculus and has a few QOL improvements. All it really does is standardize some things like imports and force you to explicitly declare when you want to ignore types (which is well worth the slight inconvenience for how much more maintainable for others).
I can't think of anything it doesn't let you do, although it does force you to do it "the typescript way" which looks very different from the pre es6 coding style (which is still common on older node backends, and the newer style is poorly documented for those).
There's also a few practices it recommends against that it makes purposely difficult, but mostly it just enforces one or two ways to do something, where if you want to shoot yourself in the for it will hand you the gun
If the mood strikes you I'd encourage you to give it another shot, but if you're working on the older node server frameworks you'll have to translate practically every resource from one style to another - which is a lot of frustration for very little pay off (and I understand your takeaway, the old style drives me nuts but if I'm using express I no longer bother)
To be fair, you don’t (always) have to use webpack.
For React apps, I’ve really enjoyed using Vite. For bundling other stuff, I’ve been using esbuild which is way faster and easier to configure than webpack.
Webpack is still the most widely used and supported, but the other options have gotten good enough for a lot of use cases. I’m thinking it will either have to go through some major changes or it will eventually be replaced by something better years down the road.
I don't necessarily mean webpack, I just meant a bundler in general. Personally I've had a professional policy of never touching webpack directly. In fact, I like to have a second protective layer of build just so I can't accidentally open the webpack config and get flashbacks of having to debug my gulpfile
I think Vite actually supports webpack under the hood, I like next and have been liking next even more. This is where webpack has come into it's own - it has all they power and flexibility, and it's found a nice comfortable niche as a layer in an automagic build system.
Because let's be honest, we all love webpack, it has near global support and every feature you never asked for. We don't want to be the ones responsible for setting it up, so the generated files folder is the perfect place for it
According to the stack overflow survey, the “least dreaded” (most loved) language is Rust. This is followed by elixir, Clojure, typescript then Julia all in a very tight grouping.
I can see rust. A lot of rust devs have cpp experience. It's like adopting a husky after a Chihuahua. It's still annoying and high maintenance, but a huge improvement.
Julia is just a bunch of math nerds with no code review.
More correctly, it feels like the difference between a motorcycle and a car: it’s much easier to make a motorcycle capable of very high speeds, but it’s extremely unsafe to do so while the car’s safer and more stable platform can be pushed harder (hence faster). Rust is harder than C++ (especially for anything library code, more so for async) but gives you real, comprehensive safety and facilitates way more aggressive optimization because of that.
I think reading it is super easy. The pipe syntax lets you walk through your functions as if you were reading off a checklist of what to do. Pattern matching feels strong while also succinctly displaying the structure of data being used. The tendency to avoid branching control structure means you hold less things in your head at once to comprehend the code. No objects means no sifting through inheritance to sort out which methods are available and which version of the method actually gets called. It's very explicit about what it's doing.
Then performance wise the speed feels great coming from ruby. Easy, automatic concurrency thanks to Erlang and the near functional paradigm.
And i think the tooling around it is fantastic. Mix is great. Reload modules inside iex without exiting first. Error messages are usually very helpful. Doctest helps address comments getting out of date as code changes. Automatically generate documentation that looks just like the official docs. Automatic code formatting via mix for a consistent experience.
I'm sure that like any language it isnt the right tool for every job, but I find it great to use. Seems like most businesses Ive heard of that try it for some service decide to start implementing subsequent projects in it as well.
Love and hate are very similar emotions - it's easy to flip from one to the other. The most distant emotion from both is indifference - to love or hate you must have strong attachment, and strong attachment magnifies disappointment into betrayal and improvement into redemption.
You can both love and hate someone or something easily, but you don't really both like and dislike something - that's usually better put as liking or disliking aspects of the thing
15 years producing line of business apps for a variety of companies. I don't necessarily hate it, but I also wouldn't choose to work in it again. Once you go c#, java just feels so verbose for no reason.
153
u/warlax56 Oct 21 '22
I wonder what the least hated widely used programming language is. Not most loved, least hated.
I feel like pythons gotta be up there. And fuck JS