Worst languages

Worst languages.

The terribleness of the language could be based on the language it's self, or the community.

Pic related.

Other urls found in this thread:

journal.stuffwithstuff.com/2013/07/18/javascript-isnt-scheme/
aosabook.org/en/posa/warp.html
twitter.com/SFWRedditVideos

JavaScript.

Because there's a hundred or so languages that compile to it, and not a single one can fix it's shitty type system.

C++ is bad, blame to the board

JavaScript, by far.

C++ is actually pretty good, It's just that it's had it's heyday. It's now time for Rust and Swift to battle it out.

Swift.
I mean everything is better than Objective-C, but Swift is a nightmare.

>and Swift
lol

Javascript and PHP. Nothing that's used regularly comes close to these monstrosities.

>people that think C++ isn't the best programming language

Go program Java like all the other retarded graduates.

I mostly use C99 with some C89 conventions. How could I dislike C++ and think Java is good ffs

My favorite languages are Python for small stuff and Java for big stuff.

My least favorite languages are Javascript and Assembler.

Nothing wrong with ruby OP.

Worst is C, it held everyone back 10 years.

(is actually retarded)

He's a poltard whining about SJWs or hipsters. The language itself is objectively good as far as dynamically typed languages go.

>waaaaaaa I'm too dumb to understand functional programming

> Javascript
> functional programming

Wait, I was supposed to do functional programming in Javascript? Like in Lisp or Haskell?

Java.

Surprised that not a lot of people are talking about Ruby.

The languages is not bad in it's self (Though it's kinda slow) it's just the community.

It's slow, it's too highlevel, it's community is ridden with SJW. Shall i continue?

Everyone says French is beautiful but I just don't hear it. To me it sounds very nasally and rough when compared to a language as beautiful as Italian. Italian has a tempo to it that just makes it absolutely beautiful to listen to.

Yes. The whole reason js is designed the way it is, is because it's actually a lisp derivative with c-like syntax

Retarded Javascript programmers think that Javascript is a functional programming language because it has first class functions.

If first class functions are the only prerequisite to be a functional programming language almost every language qualifies including Java 8, C#, Smalltalk, Rust, C++, C, Swift and several variants of Ada and Cobol. Javascript is no more functional than any of these.

...

Why so much hate for JavaScript?

What is so wrong with it? I use Nodejs and Golang daily, i don't really have any complaints with either.

Except js is lexically scoped. Brendan Eich's original implementation was literally just scheme, but he made it more C-like because retards such as yourself were complaining about lisp.

> It's slow

There are very few dynamically typed languages with a significantly faster implementation than Ruby 2+ and out of that small set Javascript is the only one that is actively used (Common Lisp and Smalltalk are basically dead). LuaJIT is another but it's no longer being actively maintained and Mike Pall has moved on to other things.

> it's too highlevel

Idiotic complaint.

> community is ridden with SJW

Every popular programming language has SJWs in the community and this doesn't effect me in the slightest.

Hungarian.

Kek

The community of the language tends to actually change the language over time. For instance:

>Code of conduct

Literally language policing.

It might be that they dislike web dev

I make $800 a day programming in C++.

So it's the GOAT language in my eyes.

I also enjoy coding in C, Java, Scala, and Python. I despise C#, Javascript, Perl, Ruby and PHP.

I actually primarily use Nodejs for scripting, not webdev.

Golang is used for webdev in my case.

Most languages are lexically scoped and Javascript isn't properly lexically scoped unless you're using ES6 let or const instead of var.

> Brendan Eich's original implementation was literally just scheme

This is nothing more than ex post facto rationalization. Javascript was never anything like scheme beyond its support for first class functions. Javascript was never homoiconic, got scoping horribly wrong, most implementations don't have TCO or continuations, doesn't have macros, and mutation is used at every level of the tiny standard library that does exist. Other than first class functions it doesn't have any of the defining features of scheme.

journal.stuffwithstuff.com/2013/07/18/javascript-isnt-scheme/

C# is fine. It's .NET that is horrid.

>I make $800 a day programming in C++.
bullshit

And I work from home 2 days a week. You mad?

Btw, I converted that amount to dollars. 600 pounds a day is standard contract rate in my field.

>Too Highlevel
Watch out guys, we got a guy who only codes in x86 assembly here

Most of those hipsters left the Ruby community a long time ago. Javascript and Clojure are the official hipster SJW languages at the moment. I'm not sure what's next.

see
They're busy programming and maintaining a bajillion microframeworks and 5-line libraries for JavaScript right now.

Moreover, the eSJeWs never were in the Ruby community for the language in itself, but for the RoR webdev. Now Node is the new webdev hotness and they're flocking towards that.

Ruby is no longer badass rockstar tech OpiE, you cant stop fearing your sikirt club is being overrun by brightly colored hair dies and numale brahgrammers.

Dynamic typing is cancer.

It seems most of the JS hate is in one of two categories:

- Dynamic typing wahh
- Hipster frameworks. They suck. Have any of you worked with vanilla JS?

There are two kinds of languages. Low level where you manage your own memory and your program runs fast, and high level where you have "safety" (from memory being managed automatically) and your program runs slow. Ruby is a great example of the second.

If you're excluding dead or historic languages, the winner is easily PHP.

The language itself can barely be described as a language - at beast it's a hacked-together pile of spaghetti with no real formal semantics apart from what the standard interpreter decided to implement at the time, the implementation is a mess of parsing, evaluating and error management all mixed into the same shotgun code path, and the entire philosophy around its development is entire cancer. The standard library is an inconsistent mess of security issues kept around for the sake of backwards compatibility, the programming community is a mix of brogrammers and web devs who want to bang out some template code without caring about security, performance, correctness or scaleability.

The entire language can be summarized as a trainwreck, and enough articles have been written documenting this phenomenon to make it almost paradoxical that it refuses to die.

Some honorable mentions, though:

Java (also C#): The language itself is reasonable enough to be undeserving of the hate it gets, but what really pushes it past the limit is the entire community and tooling surrounding it, which is full of bloated enterprise garbage, boilerplate programming paradigms, outsourced code monkeying and APIs so bad only Oracle or Microsoft could come up with them.

Ruby: A perfectly fine script language in its domain (small tools, command line scripting, etc.), the trainwreck only happens when people start applying it to web server backends.

JavaScript: A lisp in disguise, it was still much better than the potential alternatives for its domain. The hate that JavaScript gets is mostly not the fault of JavaScript, but the fault of people's *overuse* of it. Shitty websites are shitty no matter what technology you use to build them.

There is a difference between something being high-level and something being slow.

A good example of a very high level language is Haskell, yet in benchmarks it still performs orders of magnitudes faster than slow scripting crap like ruby.

Ruby is also not even nearly as high level as Haskell, in terms of the abstraction level you operate on. In fact, it's much closer to low-level, imperative von neumann-style languages like C than it is to something like Haskell, Agda or ML.

The slowness doesn't come from the abstraction - it comes from the fact that ruby is simply a shitty language built by people with no solid understanding of PL development or compiler design.

>The only difference between “low level” and “high level” languages are whether or not you have a garbage collector
Look out, we have a CS expert in this thread

PHP is at least a language for normal people with a responsibility to know how to solve a problem, instead of looters climbing the social ladder with their magic oppression bracelets. Nobody in the PHP industry gets a handout.

Isn't Haskell compiled? Doesn't Ruby run out of the box through an interpreter?

I hate that Ruby syntax is Perl v2.0 but I woudn't compare a compiled language with an interpreted one. I your application is time-critical, choosing interpreted languages is retarded unless they can be compiled somehow.

>yet in benchmarks it still performs orders of magnitudes faster

Only when it's been optimized like crazy, avoids laziness and manages its own memory as in the Debian benchmarks game. Idiomatic Haskell is slow as shit.

I thought Haskellers would stop pretending that Haskell was fast after Yesod and Snap were found to be slow as shit (even slower than comparable Python and Ruby frameworks).

motherfucker we are discussing languages not pol shit

>Isn't Haskell compiled? Doesn't Ruby run out of the box through an interpreter?
Yep, exactly, you missed the point that guy was trying to make.

Also: Ruby isn't just interpreted by default. It's one of those embarrassing languages that abuses its dynamic capabilities and winds up immune to AOT compilation, because user code can screw around with any bindings at any time during execution.

>winds up immune to AOT compilation

Nonsense. Ruby with Truffle/Graal on the JVM is far faster than any implementation of Haskell and uses AOT extensively.

>Isn't Haskell compiled? Doesn't Ruby run out of the box through an interpreter?
Yes, exactly. There's a reason for the latter: Writing a ruby compiler that produces native code would be difficult to impossible.

At best you can go the python or java path and produce something like more easily interpretable bytecode, which can still run an order of magnitude than what ruby is currently doing, but ruby managed to fuck up its design decisions so hard that the actual evaluation itself affects the parsing of future expressions.

>I hate that Ruby syntax is Perl v2.0 but I woudn't compare a compiled language with an interpreted one.
There is no /fundamental/ distinction between “compiled” and “interpreted” languages.

The only reason you would ever *not* compile a program before running it is if some design decision in the language makes it difficult or impossible to do so. And the only reason you would design your language such that it's impossible to compile or execute it efficiently is if you have no understanding of compiler design or programming language theory, i.e. amateur “programmers” who think coming up with a new language means making up syntax.

The distinction entirely arises in practice, and it's a distinction between well-designed and badly-designed languages - nothing more, nothing less.

So yes, if you choose a badly-designed language for any critical project, you're doing something wrong.

It's unreal how clueless Haskell noobs are. They learn about Semigroups and all of a sudden they think they know shit. Are you that clueless BiteMyApp faggot?

>and uses AOT extensively
But not exclusively, I take it? If you don't include a JIT compiler or an interpreter with your runtime, you just end up littering the compile code with traps that throw "unimplemented" exceptions every time the user code tries to do monkey patching.

At least one of those posts is definitely Chris.

Here we witness the first stage of what happens when Sup Forums loses an argument: Denial and calling the other party a clueless idiot.

>The terribleness of the language could be based on the language it's self, or the community.

Where's Jon Harrop when you need him?

>you just end up littering the compile code with traps that throw "unimplemented" exceptions every time the user code tries to do monkey patching

There are significantly faster ways to accommodate monkey patching, which is entirely possible in every single popular dynamically typed language, and a good JIT that does full program analysis can eliminate most of the slow paths.

Talk less and you won't sound like your mouth is so full of shit.

I miss Harrop, but I miss Slava Pestov and the Jane Street guys shitting on Haskellers a lot more. Too bad Slava got swallowed by Google and Apple and doesn't post as much online anymore.

Daniel too. Most of the good guys disappeared inside Google, Apple, Microsoft and Mozilla. Now we're left with clueless web developers like Tony Morris, Paul Snively, Amanda Lautner and Chris Allen running their mouths. Why are web developers allowed to speak?

Holy shit, is this Sup Forums or reddit?

>caring more about online blogger drama than technology

I've probably been programming for longer than you've been on the internet, but it's okay - maybe in a few years you'll understand my posts.

> muh Haskell is fast
> P-p-p-please techempower take down the Yesod and Snap benchmarks because it's making us look bad

>Why are web developers allowed to speak?
Because they ally themselves with the people who silence their opponents through use of force.

If you were doing that, they'd ally themselves with you, too.

> Paul Snively
> muh purely functional programming
> muh Verizon Oncue website

God damn he's annoying.

Assembly, C, Lisp / Scheme

High Tier
C++, Perl, Python

Medium Tier
Java, C#, Go

Stupid tier
PHP, Basic, D, F#

Code Artisan tier
Ruby, JS, Rust, Node.js

Dead tier
COBOL, Pascal

Magic tier
Haskell

Please see >Why are web developers allowed to speak?

>Yesod and Snap
Good job cherry-picking. Two can play that game

aosabook.org/en/posa/warp.html

>I hate that Ruby syntax is Perl v2.0
Doesn't Ruby basically force you to use OO for everything? At least with Perl you can do it both ways.

open (F, $path);
print while ();

use IO::File;
$fh = IO::File->new();
if ($fh->open("< $path")) {
print ;
$fh->close;
}


Anyway not sure about Ruby, but Python is right out. Perl and C are best languages.

Shocking that people find benchmarks for usable frameworks that actually provide functionality more interesting than benchmarks for a small web server that doesn't even implement the entire HTTP 1 spec.

It's also funny how nobody can reproduce those benchmarks and nginx has blown out Warp in every benchmark done by people without a vested interest in Warp.

python wins for most mind numbingly boring language ever created.

Is that actually reading the file or just printing the file handle if it exists?

reading the whole file in the first two lines, not sure about the others, never used io::file.

It's funny because Warp (the thing benchmarked in my screenshot) is the actual web server used by both Yesod and Snap

So essentially, all this proves is that the extra bloat provided by yesod and snap on top of warp is slow as shit. Yeah, good job figuring that out.

C
C++
Other C-likes and C-derivatives like Objective-C or C# or Javascript are quite good though.

>C
>C++
Languages that will still be around and actively used in 100 years are not actually bad.

only language that will be around will be javascript

Independent benchmarks from those not invested in Haskell have proven that Warp isn't actually that fast and that Yesod, Happstack and Snap are slow as shit. Great job Haskellers!

Maybe in the next few years Warp will have full HTTP/1 support and you can start working on HTTP/2.

So basically expert Haskellers can't make a web framework that isn't slow as shit. Got it.

>Web developers are shit at programming
Welcome to development 101

They both do the same thing (print the entire file to stdout). The first method is ideal for scripts, or if you just like not typing a lot. The second method also has extra error checking, and explicitely closes the file (but you can do that without OO as well).
You can also use a lexical variable for the filehandle if you don't want/like the global stuff cluttering up your namespace.

Snoyman is easily in the top 10 people in the world in terms of knowledge of Haskell and GHC.

I fucked up on that one though with the double spacing. The -l argument adds extra linefeed after every print. It's normally a good idea for shell one-liners, unless you add your own \n stuff manually or use the new say() function.

i fucking love perl.

Ya Ruby has -l as well. Your example in Ruby would be

ruby -e 'File.foreach("/etc/motd") { |line| puts line }'


That will close the file properly at the end of the block passed to foreach. If you don't care about reading the whole file into memory or closing the file you could just do:

ruby -e 'puts File.read("/etc/motd")'

>1200 a week

Pfft. You enjoying poverty? Lmao

I couldn't even afford an apartment in SF on 1200 a week. LMAO

My reasoning given was its type system, not its potential for functional programming. I don't think anyone cares if functions are first class types. But when == is completely unusable because it coerces objects into other types, your language is clearly fucked.

>Doesn't Ruby basically force you to use OO for everything?
Yes and no. One one hand, you don't have to write any classes, like Java or C#. On the other hand, everything in Ruby is an Object. 2 is an Object. 2 + 2 is an expression whereby the message :+ is sent to 2, with the argument 2. It's pretty much Smalltalk with a pretty face.

Ruby has some uses, I don't think it is fair to claim it is the worst language ever

From a language perspective, Ruby is objectively better than all other dynamically typed languages except Scheme variants and Smalltalk.

>Assembly, C

You mean the languages that virtually every other language is compiled to? And what makes up a vast amount of libraries, including Python? And what most system software is still written in?

You're pretty retarded, ain't ya?

and this list is based on your experience working with all 20 of these languages professionally, right?

>hurr, muh saved cycles
>who cares about devellopment time
>who cares about exploits

I love Ruby, but I don't think it's "better" than for example Python or Perl. It's just differnt, with differnt strengths and weaknesses.

Good programmers.

10/10

Python is just a random collection of features most of which would be entirely redundant if it had decent lambdas and fewer statements.