What are quality, well designed languages and badly designed languages? and what is the use of them?
good designed: Microsoft C# (used for desktop apps, web backend, business stuff, video games) C (low level and embedded applications, drivers, operating systems)
medium designed: C++ (used for AAA games, old software and desktop apps, operating systems) Java (stupid business and banking software, stupid software for feature phones, stupid android software)
badly designed: PHP (used for crap dynamic websites)
Where should we put JavaScript, Python, and other languages? You could also rate some technologies that are not programming, like HTML, CSS, XML, SQL, Flash.
Care to substantiate that "PHP is badly designed" meme?
Anyway, for me, the best designed language is the one that gets in your way the least. So Python with its forced indentation is already out of consideration.
But in reality, there's too much focus on languages. It's almost autistic. Language doesn't matter, the programmer does. It's like endlessly arguing about which screwdriver is better. The one that helps you unscrew the screw, and that's it.
Henry Gomez
pajeet pls
Michael Gray
He's right though.
Dominic Lee
Certain tasks need certain style screwdrivers. You can't use a flathead for a torq-set screw, user.
Chase Taylor
stupid random functions with random names glued into the base language
Your wrong. It's both what matter. And there is no reasons to learn and use crap languages like PHP. Also crap languages produce bad programmers.
Oliver Wilson
I've never had this happen or heard of this happening. How does it happen, and why is it more likely than all braces disappearing? I think Python's indentation is good at getting out of my way. I'm going to indent anyway, so I like not having to jump through additional hoops.
So a bunch of stuff that doesn't matter. That's what I thought.
I don't have the time or patience to respond to this pile of bullshit, but I'll tackle just one of these:
So? That's exactly the way it should be designed. If it's at position 0, it returns just that. And if it has no position, it returns just that - FALSE. So what is this guy whining about?
Ok, I will tackle some more:
I debug it daily, and don't have a problem.
Then read the fucking log.
So what is the better way to handle this? THERE ISN'T ONE.
>How do you sort backwards? In Perl, you might do sort { $b $a }. In Python, you might do .sort(reverse=True). In PHP, there’s a separate function called rsort().
Again, whining about nothing.
And more and more bullshit that has not bothered me at all in my 10 years of PHP programming - or even better, it's actually GREAT DESIGN.
The real question is why did this person even write this? He could have spent all that time coding instead of whining. He could have avoided all this frustration and maybe actually learrned to appreciate PHP. Because the stuff he is whining about doesn't matter or is actually great design.
Nathaniel Nguyen
Can you give some advice for some relative newbie who has found themselves in a job filled with loads of php programming and somehow being the sole php programmer?
Nicholas Moore
I don't know. What kind of advice would you want? My advice is to not focus on tools but on your projects. Tools are means to an end.
Grayson White
Java is also out of consideration imo, unless you are coding Java bytecode.
I guess Lisp is god-tier?
Jaxon Nelson
I guess career wise if you felt there were any easily identifiable mistakes or things you feel like you should have done when you were younger.
Gavin Moore
It should return null. There are a shitload of functions that act usefully on a null. false forces you to use === and nothing else. Learn your basic types for fuck's sake
PHP got publically shamed into fixing one thing some time in the past five years so I guess it's perfect now according to Parse-Error-Erry-Day Pajeet, Ph.D over here
Read the second half of the sentence you dumb cunt. Even visual fucking basic doesn't default to "on error resume next".
HOW ABOUT THE ONE PERL HAS? OR JAVASCRIPT HAS? OR FUCKING C EIGHTY-NINE IN MICROSOFT'S COMPILER HAS?
>>How do you sort backwards? In Perl, you might do sort { $b $a }. In Python, you might do .sort(reverse=True). In PHP, there’s a separate function called rsort(). You've never written a HTML table with sort buttons in ten years of using PHP?
Dunning-Kruger: The Post.
Nathaniel Martin
Are you retarded? C belongs in the badly designed pile along with PHP and Javascript.
Blake Reyes
Tier 1 Java Rust
Tier 2 C#, F# Haskell, Python
Tier 3 C++
Tier 4 Go C
Tier 5 All LISPs JavaScript Everything else
Daniel Garcia
Quite right user, Rust is a pajeet-tier language. :^)
Juan King
So you are saying INDIAN programmers are tier 1.
Brandon Perez
The language placement was sufficiently weird that any implication of one number being the best was completely lost anyway.
Charles Green
This. I was honestly thinking he was tiering from worst to best like a 1-5 stars thing, judging by the languages. Then I realized he had JavaScript on Tier 5 and I realized we're just dealing with a special kind of retarded.
Jace Rodriguez
Why the insults? Also, you seem to know the whole history of PHP's alleged fuckups. Even I don't know it. Maybe because I actually focus on coding.
Then use those languages. No one forces you to use PHP.
What was the point of your post? You sure showed that PHP guy who's boss. Now what?
Brody Anderson
C is extremely well designed for what it is - a replacement for writing assembly that can scale up to application development. It was so successful that it ended the days of hand-coded assembly and also took over application development for nearly 50 years, and is still so good that no one has managed to make a language yet that can fully replace it.
Ethan Rogers
God tier: Scheme, Racket
Colton Ortiz
Not today. Null terminated strings and lenghtless arrays made sense when even 2 or 3 extra bytes were a significant overhead, but nowadays they are the kind of stuff that makes people do dumb shit like wild guessing the length of an array passed to a function.
Nathan Butler
I program in PHP daily. PHP7 isn't bad, but saying that PHP is GREAT DESIGN is retarded.
Camden Phillips
CSS3 - bad tier SQL - medium tier? HTML4 - good tier? or medium? Pascal - medium/good tier?
Dominic Perry
It has some great design in it, as well as some average and even some bad! Just as every language. My aim wasn't to glorify PHP, but to show that it's just a tool and all those flaws really don't matter.
You have to wonder about those guys that write those giant articles shitting on a language. Like, why do they know so much about those languages then? I'd be out of there faster than you can blink, if I didn't like the language so much. I wouldn't even know about half of those "flaws" because I already wouldn't be using the language. But those guys just whine and whine.
Jose Lopez
I can rant for ages about the bourne shell, even though I know and use it, because there's no widely used better alternative within its niche. If I want my shell scripts to easily run everywhere they have to be sh or bash. It's still a badly designed language. PHP is similar. My experience with PHP comes from a university course that taught it because it's available everywhere, and from interacting with a few existing codebases. I didn't choose PHP, but I ended up using it anyway. I don't have quite enough experience to feel comfortable ranting about it (and I haven't) but I could have had without at any point liking the language. I do think there's a good chance a language that chose function names on the basis of having a variety of lengths to make the strlen-based lookup efficient has worse design than most.
Jason Turner
HTML4 is shit tier. Why the fuck are textareas and drop down menus not , even though even motherfucking buttons are? But wait, buttons can be buttons or inputs, because fuck consistency.
Juan Davis
Maybe because you've never solved a hard problem in your life
Grayson Sanchez
Go
Java, Python
C#, Kotlin, C (in some areas)
Scala, F#, Haskell, Lisps, Ruby, C++, Rust
JavaScript, PHP
Sebastian Rogers
lol nobody even trying to go for anything decent but obscure
Jacob Cook
>Why the fuck are textareas and drop down menus not So you can put s inside them, of course
Brody Diaz
Fantastic design: PHP You may hate it, but it's incredibly cheap to develop in. Pajeet optimization pays off.
Great design: C The best language ever created.
Good design Python OOP and slow, but it forces you to write good code unless you want to fight the language.
Mediocre design: C++ Okay language, has niche use cases, but not very well designed.
No design: Assembly Not intended to be user-friendly at all.
Lincoln Cook
How are shell scripts badly designed? You can design them however you want and shoehorn any paradigm you want into them.
Charles Davis
No lists, aside from $@ (sort of) and incompatible hacky solutions in various derivatives. Unquoted things expand to multiple arguments, which is the wrong thing in 99.5% of cases, so you have to keep typing quotes everywhere. [ is a shell command masquerading as syntax, which leads to unpleasant surprises if you don't know.
Grayson Peterson
Put a leading space in your home directory's name. Hope you have a backup. Proper error and data handling are imppssible in shell script, and even the simple stuff is often nearly impossible. Nothing new should be written in it. Use python or perl.
Carson Butler
I won't use python or perl or whatever to invoke mpv with the contents of my clipboard, fuck you. Or convert all the files in a directory and then run a couple of imagemagick commands, with an if statement depending on what the files are. Reccomend or create a better scriptable user interface for running binaries if you have problems with bourne shell.
Juan Russell
How is C# good designed and not straight up garbage?
Justin Torres
fish, rc and Emacs' eshell all have various improvements over Bourne shell. oil looks nice but I haven't checked it out in detail yet. I suspect Powershell has ideas worth looking at but too much of it was garbage when I tried the Linux version. Anyway, this is why I brought it up in the first place. I use it all the time because it somehow manages to be the most practical within its niche. But it's still a horrible language.
Luke Foster
The language whose stupid decisions cost billions of dollars globally in dealing with breaches is poorly designed. That they didn't support positional parameters in their db interface for nearly a decade was almost malicious. It literally only exists to make machine code user-friendly.
Chase Jones
Doing one-liners is different than writing a script, Pajeet. But we do need a better interactive shell as otherwise one-liners often grow into hopelessly error-filled shell scripts. Shell script is Linux's cancer. Microsoft tried with powershell (look into how it does structured pipes) but had Java devs work on it and it's comically verbose.
Cooper Myers
be specific about what you're talking about then. "Shells are bad" is something retards will latch onto unmodified and without the understanding of context.
Hunter Nelson
because some of us have jobs at microsoft sweetie ;^)
Cameron Reed
lmao Go have fun when your code fails with ==. This is fucking retarded. The article is from 2012, they better improve it. You don't fucking understand. In case of an error PHP carries on, which is the exact opposite of what you want if you want correct results. How about throwing an exception when required arguments are missing/there are extra arguments, genius? >>How do you sort backwards? In Perl, you might do sort { $b $a }. In Python, you might do .sort(reverse=True). In PHP, there’s a separate function called rsort(). The global namespace is polluted as fuck for no reason, and because it is a separate function, combined with the fact that you cannot store function pointers in variables in PHP, you're gonna repeat your code N times for N sorting variations. This is fucking retarded. Why not an optional argument? pic related He worked on a shitton of PHP code, and got fed up and vented. I don't even fucking have words. Nobody wants to buy into your fucking cult.
Hudson Morgan
...
Andrew Sanders
As in when you only have the value, not key? This is no different from C. Either rethink what you're doing, use one array (arr[x + y*line_len]), or keep it the way it is.
Joshua Cook
...
Lucas Brown
Scheme
C Common Lisp Haskell
Python C++ JavaScript Go
Java Rust JavaScript Go
PHP Perl Ruby
Go and JavaScript are in two categories because putting them in only one of the two just seemed dishonest.
Isaac Hernandez
Excellent: Rust
Charles Murphy
neither
Mason Gray
All weakly typed languages were a design mistake tbh. Same goes for all this dynamically typed and interpreted yolo garbage for hipsters. Mixing up those two together creates absolute design horror like JS and PHP.
Other than that it's all about finding balance between readability and conciseness and in my opinion all major pure-functional/functional-first languages are clear winners here. They're as concise as it gets without going full retard and thanks to type inference they're extremely readable when using any half-decent code editor/IDE, also due to the way they work, they're much safer than any imperative language will ever be. On second place there are languages like Java, C# etc. since they are imperative and have messy syntax but at least try to implement some goodies from functional world and overally seem to be heading in good direction. At the end there will be all purely imperative languages like Go etc.
Leo Fisher
2/10, the bait premise had potential but you couldn't wait even another paragraph to reveal your hand
Luis Barnes
Are you transferring your files by dictating them over the phone?
Christian Nelson
Windows/Google/Oracle/Someothershit, what does it have to do with language design? Are you mentally challenged or something?
Samuel Harris
Oops, my mistake user. Delegates revolutionised the world.
Blake Bennett
This tbh
Alexander Wood
i didnt know people can fall for the "C# is well designed" meme as well as being a C tard