Details
-
AboutBruh
-
SkillsNone really
-
Locationhell
Joined devRant on 10/15/2019
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
Why is it that virtually all new languages in the last 25 years or so have a C-like syntax?
- Java wanted to sort-of knock off C++.
- C# wanted to be Java but on Microsoft's proprietary stack instead of SUN's (now Oracle's).
- Several other languages such as Vala, Scala, Swift, etc. do only careful evolution, seemingly so as to not alienate the devs used to previous C-like languages.
- Not to speak of everyone's favourite enemy, JavaScript…
- Then there is ReasonML which is basically an alternate, more C-like, syntax for OCaml, and is then compiled to JavaScript.
Now we're slowly arriving at the meat of this rant: back when I started university, the first semester programming lecture used Scheme, and provided a fine introduction to (functional) programming. Scheme, like other variants of Lisp, is a fine language, very flexible, code is data, data is code, but you get somewhat lost in a sea of parentheses, probably worse than the C-like languages' salad of curly braces. But it was a refreshing change from the likes of C, C++, and Java in terms of approach.
But the real enlightenment came when I read through Okasaki's paper on purely functional data structures. The author uses Standard ML in the paper, and after the initial shock (because it's different than most everything else I had seen), and getting used to the notation, I loved the crisp clarity it brings with almost no ceremony at all!
After looking around a bit, I found that nobody seems to use SML anymore, but there are viable alternatives, depending on your taste:
- Pragmatic programmers can use OCaml, which has immutability by default, and tries to guide the programmer to a functional programming mindset, but can accommodate imperative constructs easily when necessary.
- F# was born as OCaml on .NET but has now evolved into its own great thing with many upsides and very few downsides; I recommend every C# developer should give it a try.
- Somewhat more extreme is Haskell, with its ideology of pure functions and lazy evaluation that makes introducing side effects, I/O, and other imperative constructs rather a pain in the arse, and not quite my piece of cake, but learning it can still help you be a better programmer in whatever language you use on a day-to-day basis.
Anyway, the point is that after working with several of these languages developed out of the original Meta Language, it baffles me how anyone can be happy being a curly-braces-language developer without craving something more succinct and to-the-point. Especially when it comes to JavaScript: all the above mentioned ML-like languages can be compiled to JavaScript, so developing directly in JavaScript should hardly be a necessity.
Obviously these curly-braces languages will still be needed for a long time coming, legacy systems and all—just look at COBOL—, but my point stands.7 -
I get asked a lot of random questions. Today's climbs to the top ten:
"Does anybody own a hamster? Marketing is asking for one"2 -
Currently working on my new app idea that will revolutionise modern politics. Never again will you have to worry about your opinions affecting somebody else. My new forum will require Racial Detection™ where you will have the opportunity to voice anonymous concerns and see the points of view of different skin colours. Then you can truly pander to your desired demographic.
We're calling it: Minority Report9 -
I hate coming into the office! It's cold, people microwave smelly food, and I can't break up my work sessions with some gaming or anime. I wish remote work wasn't seen as such a scary thing for companies.2
-
“If she saves you 100 GB or more inbound traffic per month, she’s the right one.”
— Some guy on Pornhub3 -
All i want to do is write code. Give me time, space, and stop bothering me so often and I can fix the shitty outsourced code. I can do it, really. I can write a ton of resdesign docs and improve so much shit. But I can't do ANY OF IT BECAUSE THESE FUCKS ARE ALWAYS PAWNING OFF WORK ONTO ME AND REFUSING TO LET ME GET MY HANDS DIRTY.
Stop asking me to email people. Stop asking me to update documentation that isn't for my features. Stop bothering me. Stop. Fucking. Bothering. Me. All. The. Goddamn. Damn.
Stop it stop it stop it fucking stop. I don't care about the PM's dumbfuck braindead statements and always wanting to pick a fight with me. I don't care that x environment is down. I don't care that your shitty overseas programmers can't tell their own ass from their head. I do care that I have the skills to fix it if you would give me the fucking time and space.
Instead of having me do all the mundane tasks that your shitty ape programmers could do overseas, let me have some fucking room to breath and I can fix this shitty fuck of a project and Maybe I can save it before it collapses on itself you dumb fucks
Holy shit im pissy today4 -
Dear Marketing Guy,
You had no right to manipulate the perfectly working "WordPress" site, but since you have done it by injecting a script you found on the internet in functions.php, It is now my unpaid job to fix this mess.
Yours truly,
Underpaid Developer
P.S. Fuck you7 -
HOW TRANSIT SHOULD WORK
🚌 🏃
🚌 🏃
🚌 🏃
💨 🏃
🚶♂️ oh fuck I missed the bus
🚶♂️ glad there's another in 6 minutes!
HOW TRANSIT DOES WORK (IN THE US)
🚌 🏃
🚌 🏃
🚌 🏃
💨🏃
🚶♂️ oh fuck I missed the bus
🚶♂️ not another for an hour
🚶♂️ hope I don't lose my job.15