Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
epse37182yA PHP rant I completely agree with! Wowzers!
Wow OP are you me? I love PHP but would like to have safety net via C or something.
@legionfrontier Yeah I have experience with Go, Rust, Haskell, Ruby, Js/Node/Vue, Python/Django/Numpy/Tensorflow, etc.
I wrote Haskell professionally for a biochem/material science laboratory for 2 years, but good luck finding Haskell development positions.
I consider myself good at JS, but while it can be beautifully succinct and functional it does suffer from some of the same scaling & safety issues as PHP, and most JS jobs are react/vue/etc jobs requiring me to learn those frameworks properly as well.
The problem isn't that I don't want to learn anything new — it's that anything I learn right now will keep scoring lower on the seniority ranking than PHP.
When you have 20 years of PHP experience, companies pay more for you to whip juniors into shape, to coach and design, write style guides and tests. The other languages will always be no more than peripheral skills.
Of course it's a luxury problem. I could just switch careers, and accept a lower pay rate.
Maybe, one day...
The most I know of is C... followed by C++ ( c++ behind because there is so much in new standards 😨 )
I love C ☺️☺️ and c++ too in cases coz it does reduce code a bit...
But I can’t get myself to learn other languages since I find em all boring...
Doing rust right now... THE only other language besides C/C++ which I don’t find boring yet 😊😊😊
@ojrask Rust can fully replace C programs, although in certain cases you might need to wrap some existing c libraries, which can give some trouble in terms of parallelization and memory safety. Not that that wouldn't give you some trouble in pure C...
The Rust ecosystem for things like Graphics APIs all the way up to DB drivers, parsers and even webservers has been expanding rapidly, but of course it's not as mature as with other languages yet.
The ONLY reason in my opinion to choose C over Rust for production in my opinion is not language related, but team related: Recruitment would be difficult.
@ojrask Rust is extremely high level for a systems programming language, which is an advantage in my opinion in terms of code correctness. In C you can easily break things.
But because it still has to close the gap between man and machine, it also has a very steep learning curve. It can't obfuscate things like other higher level languages do to accommodate the human. It feels like staring *through* strict, succinct, high level abstractions directly at the lower level parts.
It's kind of like a transparent, high precision clock, where you can see all the gears.
It's beautiful, it's clarifying, but damn can it be overwhelming.
@jespersh I think PHP is bad, but not impossible to work with.
With the right framework and discipline, it can work nicely for a small/medium project, especially in one domain: classic MVC layered applications.
If you're creating an API-like website, with highly structured CRUD views and routes, mapping through controller actions and an ORM to plain DB tables... you won't run into much trouble.
But on a large platform website, you eventually need to do "smart" things.
Some API stuff doesn't map neatly to/from relational tables, they're aggregates or graphs or timeseries events, fed through recommendation engines, connecting through external APIs which may or may not respond, with results in kv caches, etc.
That's where PHP fails hardest: You can't easily make a dynamic "type" like "a collection of Users" or a "list of (int, maybe string) tuples".
With hundreds of smart service classes, you really start missing the depth of type checks offered by other languages.
@bittersweet I see your point, but isn’t programming much more about overall experience in building a codebase rather than how many years you’ve been on a certain framework?
If you’ve been coding longer than the local “experts” in node, etc., you shouldn’t worry about learning those frameworks too late, and trust yourself to see things in them that a junior just wouldn’t.
Full disclosure, I am a junior dev. But I look up to a lot of senior devs who have this skill— once you’ve seen so many projects and codebases, you have a ton of insight into using the newer tools well. Nobody has to know you learned this last week, they just have to see that you know the way code is supposed to be constructed for best results. That ability is way more important than which particular sets of syntax you usually write with.
Maybe I'm scared to dive into the deep end? I would have to admit that I don't know everything, and that's quite scary. That question has been bothering me for a long time now.
You're right that it is especially knowledge of patterns and algorithms which deepens with time. The language syntax layer on top of that isn't that problematic. But then there's a pretty hefty framework layer on top of that, and often complex toolchain layers, etc