c24ed2 No.1961
What is the best and worst programming language you've ever used?
0c670d No.1962
Best: D. It's basically C# with arrays done right.
Worst: Depends:
- Perl -> pretty retarded language whise, good tooling near impossible
- PHP -> the language isn't perfect, but the engineering kills it
- VBA -> to inflexible data structures for an embedded scripting language
- Lisp -> not enough of a defined human interface to call it programming language
3b6f0a No.1963
Best: Go. It just werks.
Worst: C++
9132cc No.1967
Worst: JavaScript or Objective-C, not sure. First one is an inconsistent mess, second one is like a more incomprehensible C++ with very funny library identifiers.
9da8e0 No.1968
>>1961best c/c++
worst objective C
47d9ff No.1969
C# most definitly C#
I do like Javascript too though but it has some glaring flaws.. but also some very cool features as well…
but C# really treats the programmer well by providing loves of lovely syntax sugar to the point where toy practically get diabetes lol…
Java feels clostrophobic by comparison.
It's just an over all nice experience to work with it.
and frankly with todays ammounts of memory there is practically no reason not to work with a garbage collector type language.
Also it has excelent open source potential and frankly microsoft is turning more open source friendly then then Oracle is…
this is mostly because microsofts strategy today seams to be to suck up to programmers as much as possible and get them totally infatuated with their tech so they can get them to host it on windows azure (which is a really nice hosting solution.. and frankly programmers should not muck about with server configuration if they can avoid it…
(and you will have to pardon any spelling error i dont seam to have an english dictionary installed on this machine)
ef2b0b No.1970
best: go
worst: actionscript 2/c++
8e24b2 No.1971
Best: C/C++. Huge turns on how basic it was especially even if it is lowly-typed.
Worst: Visual Basic. I don't even.
1ec007 No.1972
Best: C++
Good: Python
Worst: JavaScript
f9ce03 No.1975
The best, or the one I liked the most?
I totally love Haskell, dont ask me the reason because I have no logical reason. I just love it.
The best would be C++
610812 No.1977
>>1968>>1971>>1972>>1975> User was banned for this post bfc0c2 No.1980
Best: C
Worst: Any OOP
e16044 No.1981
>>1977
C++ = high_performance
+ flexibility
+ real_multiplatform
+ god_memory_management
+ OOP
+ _32_years_of_development
+ compatible_with_its_ancestor // C
+ in_top10_of_tiobe_ranking // so, it's fucking popular
+ biggest_library_collection;
52d5dd No.1984
Best: Python and C#
Worst: C and Lisp
0bc5d2 No.1986
THE BEST PROGRAMMING LANGUAGE I HAVE USED IS BEFUNGE. IT IS A FUTURE LANGUAGE FROM 1993. HOW JOYOUS AND PRODUCTIVITY ENHANCING IT IS TO ENDURE ITS MULTIDIMENSIONAL SYNTAX. OH DO TRY IT FOR YOURSELF YOU WON'T REGRET ALL OF THE TIME YOU SAVE USING BEFUNGE, THE GREAT TIME SAVING LANGUAGE.
610812 No.1987
>>1981fine
no
no
no
no
so?
kinda
so?
best?
cfd4b1 No.1997
>>1987>best?It has Qt which literally rules out anything else. Even C++ hating C spergs use it. You peons might as well eradicate your other programming language and build a statue in honors of the golden shining god Qt is.
Unfortunate, but the truth.
0bb68a No.2001
>>1977>>1984>hating on c/c++ >hating on lisp>loving pythonThese fags are what we call "Makers". Maker is a codeword for technically incompetent. Back to the hipster commune newfriends.
b9c48d No.2008
736342 No.2010
>>2001I'm now curious as to whether you can legitimately tell a programmer's technical competence from their language preference.
e116fe No.2012
>>1961Best: C++
Worst: Python
08a707 No.2013
>>2010Of course.
>Favorite language: C>God tier programmer who knows the right tool for all jobs>Favorite language: anything else>Dirty SJW hipster webdev 0bc5d2 No.2019
>>2012Low level programming is more fun to me so I haven't had much interest in using python. Why is it hated so much around here? I thought it's supposed to be the popular scripting language or some shit.
e0133c No.2026
>>2019Python encourages bad habits and generally lazy programming. It does most of the heavy work for you (which is why the "maker" types love it) and at the end of the day by learning python you haven't learned how to program - you've learned how to work in python.
Plus it has its shitty language split and its shitty syntax and its shitty runtime and its shitty groupthink userbase.
e9e584 No.2028
>>2013Great, now show me the statistical evidence of this.
064135 No.2031
>>2026> its shitty language splitWhile in general I agree with your post, this hasn't been an issue for 5 years now.
fe62be No.2037
1d3224 No.2039
Best: F#. Encourages good coding practices. Great scripting language. Great for windows apps. Great support and great IDE. Interop with C# and .NET in general. If you know C# and F#, you'll pretty much never have any coding issues unless you need a lot of speed, in which case C is the only choice.
Worst: C++. Awful syntax. Unintuitive. Weird OOP functions. Lambdas look shitty. Nothing is ever easiest in C++. Pointers are useless 99% of the time, but C++ forces you to always think about them. no garbage collection. needs header files. code looks uglier than other languages. C++ would benefit heavily from a coffeescript style overhaul.
9773de No.2042
Best: Python
Worst: Javascript
But really that's no saying much, the only languages that appear to be good are those I've little experience with. Perhaps everything is awful.
0bc5d2 No.2054
>>2039I think nimrod is supposed to be like coffeescript for C.
a55ff9 No.2056
C# is comfy. C++ for interfacing and dll's.
Java is awful. Perl is awful. PHP is awful. VBA is awful.
a55ff9 No.2057
610812 No.2091
Best: Lisp
Worst: C++
Good enough for lame faggots on /prog/ (don't make me point you out): Python.
aafd74 No.2100
>>1997Yeah it's too bad you can't use Qt from any other programming language.
I wonder if someone could develop some sort of "foreign function interface" or "dynamic linking loader" as a way of getting around this problem?
546222 No.2102
Best: probably Scheme.. maybe Haskell
Worst: Python, it's just so boring to program in, even if it's "extremely readable"
24239e No.2112
GML is pretty damn bad, if I had to choose a worst that I'm somewhat confident in my ability to use.
> All variables are arrays allowing mixed types, eg `foo = 5;' is short for `foo[0] = 5;'
> Because of this, arrays cannot be passed to functions, eg `bar(foo);' is actually `bar(foo[0]);'
> Only types available are double-precision float (double) and string, no integer or opaque pointer for libraries
> Pass by reference does not exist, nor does any kind of reference type. You can instead spawn an Object which contains a shitload of unnecessary overhead (physical position, considered for collision detection and rendering, event handling, etc). Other types inherited from Object may have constructors (sort of) but may take no arguments so everything must be passed through globals. The "reference" to this object is a double (naturally).
> No data structure types, instead you can use Objects which are not garbage collected and have large overhead
> Predicates used in if/while/for are rounded instead of truncated, so >=0.5 is true, else is false.
> References to other objects are doubles
> External DLL functions may only take double and const char *, can only return double or const char * (not even void is allowed). If opaque pointers are needed, they are converted to and from doubles.
> ``compiled'' programs are attached verbatim to an interpreter and output as an executable. Games in GM 7.0 and older can actually be decompiled perfectly including comments, variable names, whitespace, everything.
> Their newer shit is interpreted still but from some kind of bytecode. All of the new error messages are unreadable garbage unless you know how the VM works, which you don't because it's proprietary.
> Mysterious undocumented stack overflow behavior where your function just returns silently with no error messages
> Logical operators do not short-circuit
> Variables you initialize in your function without first declaring them (easy mistake) are assumed to be member variables of the current object instead of locals.
There's about a million things I missed, but this is a pretty good start.
ab8900 No.2124
Best : C
Worst : B Method
e116fe No.2127
>>2019Python is a retard language. I don't really know how to put it better. The ugly syntax is retard friendly, the runtime is slow, it's entirely used by idiots so the majority of software is shit. In fact, the only good Python program I ever used was youtube-dl.
54cebe No.2135
>>2127i think you're confusing python with something else because it's easy to read and works really well, famous examples being the great youtube-dl or tahoe-lafs.
I'm not even a python programmer and still managed to quickly fix bugs in youtube-dl or merge errors when playing around with tahoe patches.
anyway, best language i used is BlitzBasic because it was just so much fun to learn programming with it.
using c++ now because coding is srs biz.
610812 No.2140
d5f829 No.2142
Python is a very limited language.
Why does python even have lambdas when you're limited to just 1 expression whilst coding in a very imperative language
Why do lambdas even have differences compared to "regular" functions?
Always shudder when someone says he likes python. Fucking summerfags
Clojure masterrace
3a6869 No.2143
>>2142
Python has lambdas?
2ec4fa No.2144
a37844 No.2166
>>2143
it has functional programming too, its not like it's good or anyone uses or cares about it though
9ba19a No.2187
>>2143
Limited lambdas. They're only allowed to be one expression. You can do some really disgusting and unperformant hacks to improve this, but at that point, you should really just be using a different language.
Guido thinks that named local functions are superior to lambdas. So within a function `a` you can define a function `b` in the same way and only `a` can see the function `b` without exposure tricks. In some sense, he's not wrong, but as a matter of style, it's a significant difference.
c24ed2 No.2235
>>2112
GML language is very horrible, also the GameMaker runner is slow. I wouldn't recommend it in my opinion.
85d11e No.2267
My favorite is Perl. Its sintax is unique and beautiful yes, I'm being serious here
The worst would be C++
26d284 No.2281
Ruby and Visual Basic.
Holy fuck I can't believe I even passed that VB class I hated it so much.
bfad6b No.2313
>Enlightened Buddha Tier
Lisp
>God Tier
C++
>Okay Tier
C
>Faggot Tier
Java
Python
>Stone Age Aborigine Tier
Visual Basic
Java Script
82c6d1 No.2513
>>1961
Best: Perl
Worst: Perl
68d93a No.2519
>>1969
I agree with whatever this guy says, except I like JavaScript less and have a perverse fetish for Perl even though I'm incompetent at it.
>>2001
kek
>>2019
pic related
f40949 No.2523
f40949 No.2524
>>1987
fine?
you're wrong
you're wrong
you're wrong
you're wrong
mature and "battle" proven
nothing to say
nothing to say
there's nothing that can compete with C++'s ecosystem
Also
>implying you know anything about C++
8c1703 No.2527
>>1962
D sucks. It makes most of C++'s mistakes all over again, and then some.
>>1963
>>1970
Go sucks. It lacks basic essential features yet has a GC.
>>2267
Perl's syntax looks like oatmeal with fingernail clippings mixed in.
>>2313
Lisp is for smug faggots that don't actually make any useful software.
0807fb No.2528
>>2527
>D sucks. It makes most of C++'s mistakes all over again, and then some.
Like?
e6838e No.2529
>>1986
I wrote a Befunge interpreter once. It was fun.
8c1703 No.2530
>>2528
scope(failure) doesn't let you have the actual exception. A bone-headed mistake that could be easily rectified, yet it's not.
It has a GC, but claims to be a "systems" language. The typical claim of GC being near or better in performance that's constantly parroted is bullshit.
It does away with implicit RAII. It D1 and early D2 had it, but they obsoleted it.
OO polymorphism is horrible. Dynamic dispatch is far superior. More readable, more maintainable, and even easier for a compiler to optimize.
0807fb No.2531
>>2530
>The typical claim of GC being near or better in performance that's constantly parroted is bullshit.
Never heard that before in the context of D.
The biggest mistake is that it tries to cover both, system programming and comfy application programming. Which also sucks with C++. Is it that basical?
17ef74 No.2532
>>2527
O Critic of Much Criticism, which language sucks the least?
8c1703 No.2533
>>2531
>>2532
For applications, probably C#.
For systems, probably C++.
There are quite a few other nicer languages out there, all rare (such as Nim and Boo), but you have to take the ecosystem into consideration.
8c1703 No.2534
>>2531
Perhaps not for D specifically, simply for GCed languages in general.
I dunno, a languages suitable for systems and applications may not exist, but I think it could. Rust tried, but I feel like it's crushed itself under it's own weight.
f40949 No.2536
Is lisp and functional programming is used by anyone but academia autists?
>>2039
You probably never saw real C++ code, only "C with Classes" pleb shit.
C++ is the best thing I know for expressing ideas. I haven't seen a single other language that provides the facilities for almost anything you can come up with. Everything is so perfectly thought through and well designed.
Just to address your points first:
>C++ is backward compatible, syntax started from C
>"unintuitive" = Your opinion
> If something is werid you probably don't understand it
>goes back to point #1
>Opinion again
>pointers are the way you access heap memory. If you're doing proper C++ the only thing you should do with them is pass them to a unique_ptr or shared_ptr (other than micro-optimizing I guess). If you're "forced" to think about them you're in "C with Classes" shitland.
>shared_ptr is simple ref counting GC, and it's a special case. If you need anything more than that you're a shit coder. For most cases unqiue_ptr is enough and it behaves like a stack object.
>Header files are great. Other than their technical use, I especially like how I can quickly overview declarations.
>"C with Classes" probably, or even maybe pre-C++11 stuff. C++11 really improved it with stuff like auto and range-based for loops.
Nice video about C++11 style:
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style
Man I love how Bjarne hates those filthy codemonkeys that abuse his masterpiece.
I'm adopting the use of "ghastly"
f40949 No.2538
>>2536
btw, mind=blown at ~25:00 when he makes
Speed sp1 = 100m / 9.8s;
valid and safe.
0807fb No.2539
>>2534
When was Rust ever aimed at application programming?
>inb4 servo
Servo is a browser component and a browser is OS enough to call that system programming.
8387af No.2541
c24ed2 No.2545
>>2541
>>2513
ayy lmao
>>2026
I really hate that Python doesn't use brackets and semicolons as most of programming languages do.
9fe872 No.2554
Best? C# so much a complete & comfortable language to program in, makes Java look like crap. C is also nice
Worst? PHP "We have purposely designed it wrong, as a joke".
Objective C - mostly because I hate it, it's incoherent and too tied to Apple
000000 No.2568
Best: Common Lisp, C, Perl
Worst: Objective C, Hasklel
>opinions
a262e4 No.2573
>>2545
>I really hate that Python doesn't use brackets and semicolons as most of programming languages do.
That use of whitespace man… ugh whenever I start making page-stretching programs I start to miss those curly braces so much.
The semi-colons don't bother me as much but I'll admit that having them is probably better than not. Sometimes I look at my lines in R and I want to put semis on them so hard… gotta cap off that line.
63d67f No.2577
Best general purpose: C#
Also pretty great in certain use cases: Python
Worst: PHP
Other annoying languages I've had to use: VBA, AutoLisp, JavaScript
2900a0 No.2580
best - D
worst - MSSQL, if that counts. otherwise i pick coldfusion.
cb784a No.2599
Best: Clojure
Worst: TI-BASIC
7f4c4a No.2638
Loves: c#, c, rust (with some reservation)
Hates: Java, python, VBA, php
fc4912 No.2641
Best: C++ (I love the power, performance, and flexibility, especially with C++11 and C++14)
Worst: MUMPS
If you have ever used MUMPS in your life, it is the worst language you have ever used.
https://en.wikipedia.org/wiki/MUMPS
dc42b0 No.2647
50181d No.2649
Best: C and Java.
Good: Python, PHP
Good Retro: QBasic, VB6
Worst: C++ (Coded in C++ for 6 years), Javascript, Perl
I've only coded in Java for a few months, but I'm ready to ditch C++ for it because it is basically C++ done right. C++ is a clusterfuck of nonsense.
Also, VB6 was also great for it's time especially for teaching noobs, but nowadays it's shit with GUI frameworks in Python.
And QBasic is on there because that was my first language, so it's special to me.
643505 No.2653
God tier:
Scheme, Racket
Based tier:
Lisp Haskell
Good tier:
C++
okay tier:
C
Shit tier:
python ruby
below shit tier:
Javascript Java
f40949 No.2656
>>2649
>C++ is a clusterfuck of nonsense
>he wrote clusterfuck of nonsense for 6 years without understanding what he's doing
Pic related, it's you.
192f4c No.2660
why are there so many posts about how c is good and c++ is bad?
is it the NSA/apple shilling it because they want a lot of people who're able to learn objective c and write code for them?
is it old dinosaurs suffering from baby duck syndrome?
is there an actual reason?
stackoverflow says the only reasons are
- you physically can't use c++ because <range of examples of higher power> prevents it
- you are one of the handful of people on this planet who are better at optimizing than their compiler and working on a project where this actually matters and cooperating with enough people to have a chance of actually finishing it
none of those reasons applies to beginners (on the contrary), and to virtually nobody else either.
2f47ff No.2661
Best: Assembly
Worst: Haskell
4b1b7a No.2662
>>2660
half/g/ argued C++ was bloated and ugly.
Apparently, OOP is something you should never use because you can do well without it and "there is literally no situation where it is necessary".
Of course, this is the same reason they loved functional programming so much, because it is clearly necessary for a language to be usable.
The actual reason is that /g/ didn't know about programming outside of Fizzbuzzes, but they loved acting like they were hardcore guys who used only the most impractical tools they could find.
ebb9db No.2666
>>2536
Of course bjarne is gonna say C++ is good. I haven't heard anyone else of note saying that C++ is good. And with the exception of D, almost none of the new languages people come up with are anywhere close to C++.
fe62be No.2675
>>2656
I'm utter shit at C++ and even I can tell that's puke-worthy.
e76402 No.2676
COBOL best! for philology is just in time!
d65710 No.2678
>>2042
>Perhaps everything is awful.
The voice of reason, ladies and gentlemen.
5244f6 No.2682
>>1961
I've enjoyed C++ and Go the most in terms of development.
Python and Ruby are fun to write with for quick things, more serious projects require a lot of 'helper' tools like a serious IDE to really get a lot done in a big code base.
I've worked on a large Python code base and it was painful without extra tools.
C++ and Go don't require as many tools just because of the syntax and ease of library modules available.
For larger projects, I'd prefer Java/C++/Go.
Smaller projects, Python/Ruby are great.
I had to work on some legacy PHP a long time ago for 2 years, and I've never touched it since. Very painful language to develop in, I believe it's the 'ugliest' language syntax wise.
fd87b5 No.2689
Best: I can't decide between Racket, Guile, and Common Lisp
Runners up: Haskell, Clojure
Python feels like a toy to me. It's fine for some basic scripting applications. Decent docs and stdlib. But if you want to do something Guido doesn't like, python basically tells you that what you want to do is wrong. Ruby, on the other hand, is a very nice little language. Too bad the community's shit.
I don't get why so many people around here seems to hate C++ so much. Yes, it's a massive, bloated, inconsistent hack of a language. I can see why someone like Linus might want to avoid it for the kernel. But it's got every feature you could ever want, and some of the things you can do with those features is really cool. Overloading new and delete for smart pointers, for instance. C++'s "anything goes" approach makes a lot of creative and interesting hacks possible. It isn't pretty, but it's a lot of fun.
And hell, if you stay focused, you can write pretty clean code in C++. It's not a half-bad language when done right.
d7c0d2 No.2702
my first language was vb6 in high school, I did 2 years of that.
Everything feels better :)
I actually like javascript; it's cute and fun.
Java pays me more, but it's sooo fat and repetitive. Sometimes I twist it into mindfucked antipatterns, or do weird shit like write a java program to write the java program for me; just to feel again.
b6182b No.2714
>>2545
>most of programming languages
Most scripting languages don't use brackets or semicolons (ruby and lua, for example)
c24ed2 No.2718
>>2714
My bad I've not used Ruby and Lua.
fe6f1a No.2752
C++ is like being married to a hot young wife who ages well, and you're not jealous of your friends' wives as you get older.
C++ is just the best, others are mere imitations.
Every time you go home to C++ after cheating on her, you're glad you did, and it's great. C++ is honest. C++ is pure and sleek and your dick fits inside her perfectly. And she lets you do anal. Cobol, Perl, Python, they'll never let you explore their netherregions. C++ just has her legs wide open.
2f79e7 No.2755
GOD TIER: MACHINE LANGUAGE
GREAT TIER: ASSEMBLY
OKAY TIER: FORTRAN
SHIT TIER: EVERYTHING ELSE EXCEPT JAVA
SUB SHIT TIER "I LEARNED IT IN CS 101 AND I LOVE USING LIBRARIES FOR PLEBS BY PLEBS": JAVA
2f79e7 No.2756
>>2718
Apparently, you haven't used any kind of LISP, either.
>most of c-family languages
is what you were going for.
2f79e7 No.2757
>>2142
Clojure is great for the same reason it sucks: the JVM.
Hooray! Clojure gets to take advantage of the JVM's huge existing infrastructure! It'll run anywhere!
But OTOH, Oracle fucking sucks, and if you find yourself calling java libraries when doing "functional" programming, then you should kill yourself.
MIT Scheme ftw
2fdb7f No.2763
Expressions of content and satisfaction are most popular with the Clojure Community, followed by Lisp, Scala, Ruby and JavaScript.
c658d0 No.2764
Top Tier:
Scheme/Lisp
C
Haskell
Shit they forced on you during university tier:
Java
Python
Shit they forced on you during high-school tier:
Turbo Pascal
Basic
7e99b4 No.2791
>>2313
If you think javascript is the worst, you don't understand javascript.
7e99b4 No.2792
>>2791
BTW, inb4 double equal sign/type coercion may-may. Just use triple equals you fuckwit
a58c6d No.2806
Best: Scheme. Haskell
ok: C
Worst: Python, Java
a6ca26 No.2807
Every language is shit except C. And C is only so-so.
e44091 No.2820
It will always depend on the programmer, I personally absolutely hate hand-holding. I also don't like magic, as making it work when it refuses to werk requires impressive feats of wizardry… when it would have been faster to just do it manually.
Best: C
I absolutely love C's "I do what you tell me" style, minimal magic, and minimal hand-holding. Pic related.
Adore: Rust
Seriously, some of the things I've seen from it so far are just downright amazing. Really need to start a side project in it so I can learn it. If it lives up to expectations, it could fully replace C as my true love.
Doting: PHP
She was my first, and is still the easiest and quickest to put together a website. Buuut there's a reason some people call her a "double claw hammer".
Love/Hate: C#
Has a ton of amazing things, but… Pic related.
Mixed: Python
Generally what I think any non-CS/CPE person should be taught in a programming class, as they'll actually get something out of it. It's also not THAT bad, and I think my favorite thing about it is how you can tell it to stop holding your hand and it'll listen.
Bad: Java
superVerbose.is.extremelyFuckingRetarded();
Refuses to not hold your hand, to the point where doing anything remotely unsafe, even when it's the right/best way of doing it, requires a circus act just to get Java to let you do it.
Worst: C++
Might just be because I had to grade intro C++ assignments for a year, but… Pic really fucking related.
7b42ee No.2822
>>2763
this is a very alarming graph, anon!
Why cannot lua hackers into fucking? cuck-only language? Rust dangerously close.
3958b7 No.2824
>>2822
Lua's Love2D community names most of their libraries in a sexual way.
Naturally, SJWs hate this.
6e092a No.2837
more fun to program in: python
worst: php
f1cd86 No.2840
160c3a No.2841
>>2752
Her mom is the same except she doesn't shit the bed in the middle of the act.
d65394 No.2963
>>1961
I love and adore Lua and JavaScript: I like functional programming most with a bit of OO (prototype in this case).
I like Java.
I hate Python.
I fucking loathe Ruby: it's a piece of shit OO language that does too much. When you have 8 ways to loop through an array, you've got too much.
7d98a9 No.2989
C64 BASIC would be the worst. Trying to do anything with sprites was a new type of madness. Best would be assembly just because anything going wrong was entirely my fault so no time was spent yelling at the toolchain.
403ff0 No.2999
Best-Ruby
Worst-Visual Basic
97a1f1 No.3001
Best: C++ since its the only language I've ever felt comfortable writing stuff in for fun. It can do pretty much whatever I put my mind to.
Worst: PHP it just seems needlessly finicky and awkward to use. I've never, ever enjoyed using PHP. Back in college it was taught to us as a copy and paste language.
1d5d85 No.3012
>>2988
>Accidentally call up this thread from a bookmark
>See someone replied to my post
That's pretty good. Saving it.
Thanks, anon.
000000 No.3016
I'm still partial to Rexx. C# is fine for most application programming. C++ is awkward, and can yield especially tricky bugs with memory allocations across processor units in clusters. Java is tolerable and handy in heterogenous distributed systems. JavaScript has coercion problems and closure issues that you can't identify from inspection. Smalltalk is delightful. Eiffel has its compelling points, but it slow, and some of it is as ugly as Ada. Ladpro is interesting. Linq fails really badly. Sql gets the job done, with T-Sql being the best variant, but requires you to be aware of the optimizer way too often. Powershell is a poor imitation of Perl; neither are easily maintained. C's only merit is portability, but I still see way too much code that won't go from big- to little- endian, and it's inability to correctly handle segmented memory should have killed it years ago. I'd opt for Pascal over Modula-2.
In the end, it's up to the client anyway. I write my own most of the time (much cleaner way to express business logic than even Cobol).
Worst: Microcode. Never again, please!
bd6ade No.3023
>>2820
>>2988
Can someone explain to me why C# has an anchor attached to it? I haven't gone far into C# so.
2d2cf1 No.3024
>>1961
Best: Haskell
Worst: PHP
easy
fc306d No.3027
God tier: Racket
Secret love: Mathematica
Runner up: Haskell, Erlang, C
Nice try: Clojure, Scala
Tolerable: Python, Java, ObjectiveC, C++
Toilet tier: PHP, Javascript, Ruby, Matlab
fc306d No.3028
>>3027
I should have added Go as a runner up, it's really good.
fc4912 No.3049
>>3023
It's a decent enough language that is powerful and easy to use, but is entirely dependent on a fucking huge CLR, and you are tied to patents owned by Microsoft. The language, although being a virtual machine and an "Open Standard", is also only really fully-featured in Windows and tends to tie closely to Windows technology (though Mono is getting better, you're fucking lucky if somebody makes a graphical program in Visual C# for Windows and it runs without issues on Mono), compared with Java which will the vast majority of the time compile on any platform to bytecode that will run the same on any platform.
It's kind of a shit comic, given that Java and C# are so fucking similar in both functionality and performance, with Java just being more flexible.
It's incredibly hypocritical to shit on Java while showing C# in a good light.
1d5d85 No.3054
>>3023
imo it's because C# has a TON of really nice features, such as ??, cases as labels for gotos within a switch, etc (thus a really nice car)…
But also has a lot of why- poorly behaved bytes, ton of "it just werks" magic, defaults to Allman and UpperCamel (rather than OTBS + camelCase), the vagueness of when something is reference or value when you're not explicit, issues where the compiler demands extra things for safety even though the context already makes it safe (ex: int? after an if(i == null) i = non-null; is explicitly not null, but you need to still do ?? with it for the compiler to agree)… there's a lot (hence a really huge anchor attached to it).
>>3049
Java's anchor is significantly more the degree to which it fights you if you're trying to do anything outside of its safe box.
As for its refrigerator, welcome to a lot of its weird design decisions that aren't painful, but make you ask "why"
Also, Java actually wasn't in the original comic- the fridge+anchor representation was OC from this thread which I found amusing.
fc4912 No.3056
>>3054
> Java's anchor is significantly more the degree to which it fights you if you're trying to do anything outside of its safe box.
C# isn't much better in this regard. Even in unsafe blocks you can't use native assembly or pointers on non-native types.
I'll agree that some of Java's design decisions are pretty thrown-together, like the shitpile that is Swing in the first place.
df0766 No.3102
>>2649
>Worst: C++ (Coded in C++ for 6 years)
Yet you never learned a damned thing. Poor you.
I've been using it for 2 years and probably have a better understanding of it than someone who says "Java" is their favorite language
75ac6c No.3113
Best? Between Forth and Lisp. Runner up would be C and Haskell.
Worst would Java, C++, D, and a couple of others.
4a87c9 No.3121
>>3049
Isn't GTK# perfectly cross-platform?
48ac62 No.3158
>>1961
Best: C++
Worst: Python
inb4 hate on C++ and love for Python
Python isn't half as powerful as C++.
It is also for total skrubs.
48ac62 No.3159
>>2649
>Best: Java
Go make Minecraft mods you fucking autist.
>Worst: C++ (Coded in C++ for 6 years)
>only coded in Java for a few months
>C++ is a clusterfuck of nonsense
I thought you could be more retarded. Thanks for proving me wrong.
C++ is only a "clusterfuck of nonsense" if you're fucking retarded and have no idea what you're doing (which is your case). The only reason you love Java is because it's so much easier that for once it's something your retarded little brain can understand.
Move to San Francisco you disgraceful, probably hipster faggot.
48ac62 No.3160
>>3159
thought you couldn't be more retarded*
b10af9 No.3162
best: Ruby
worst: the rest of them
000000 No.3198
Getting into Julia atm. Might be the best actually. Blazing fast compiled language while compiling fast enough to pass for a scripting language. Has matlab-like syntax as well with most (all?) of the functionality of R. I suspect this will be my go-to in the future.
Worst: I dunno. Bash? I'm not a huge programmer tbh
7bff51 No.3200
>>3159
FUCKING RETARDED FUCKING MOTHERFUCKER CUCKHOLD FAGGOTISMOOOOOOOOOOOOOOOOOOOOOO
43ba5d No.3289
>>2656
there is nothing wrong with that pic
fc4912 No.3290
>>3289
If you want an array that's resizeable, you use either a vector (or whatever the analogue is), or you use malloc and realloc behind the scenes, likely reserving a power-of-two size memory cache for the array as an optimization.
Copying the entire array every time you add an item is disgusting. It works, but it's incredibly slow, incredibly inflexible, and gets exponentially worse as you add more terms. Adding n terms to that kind of array has a time complexity of O(n² + n), worse than quadratic time. Adding a single term copies every previous term every single time, which is abysmal.
If the optimizations are already done for you in every standard library, why the fuck would you do them yourself, when you're guaranteed to do it worse? The only excuses for implementing your own dynamically-resized array are if you need functionality that you can't get from extending or compositing your language native one, or if your language has none (like in C).
38b834 No.3292
I don't think that "what is the best" and "what is the worst" is very productive. Each programming language was designed with a particular type of use in mind. When you're using that language to do what it was designed for, it's awesome. When you're using it outside if its intended scope, it's at best a kludgy mess.
04c2bf No.3345
>>2142
>Why does python even have lambdas when you're limited to just 1 expression whilst coding in a very imperative language
Even worse: You're not allowed to make assignments in a python lambda. So, if you want to hook a button up to toggle a bool, you need to write an explicit method. Shits gross.
cbb031 No.3355
Best: To be completely honest Python. Started with it, I understand it better than other langauges. Yeah
Worst: Fucking visual basic
The entire reason I took no computer science programs in highschool because the prequisite to javascript or C+ was VB
656014 No.3386
am I a faggot for wanting to learn C first before I go onto C++?
44b1fb No.3403
2f17cc No.3412
>>3386
No. C++ is kind of built on top of C, so if you learn C, expanding your knowledge with C++ isn't very hard.
I've only learnt C myself, and I'm wondering if I should learn C++, D, Go, Rust, or functional programming next. (I already know python)
The thing that's really holding me back from Rust and Go is the fact that the former is very stubborn when I want to build and use it's libraries dynamically, and the latter simply can't. Fuck static linking. Who's retarded idea was that?
676bef No.3418
>>3412
Dynamic linking is retarded. Maybe you should really rethink what the hell you're trying to achieve and realize dynamic linking is not the way.
c84229 No.3426
11322e No.3439
Best: PHP
Worst: I've never used anything else
729698 No.3442
>>3439
I think you got that backwards m8
>Best: I've never used anything else
>Worst: PHP
1bc428 No.3444
>>3418
>Dynamic linking is retarded. Maybe you should really rethink what the hell you're trying to achieve and realize dynamic linking is not the way.
What I'm trying to achieve is having only one copy of a library, not tons of them. What's really retarded is how both Rust and Go link dynamically to C libs, while statically foe their own. That approach makes no sense to me.
But hey, if static linking is so great, why don't you #include source files instead of their headers? What about inline functions?
>No more function call overhead lolz I have 10TB and no shits to give.
676bef No.3445
>>3444
Only having one copy of a library? What happens when that library updates and breaks a function? What about when you need a specific version of a library? A good linker will remove unused functions. Hell, a statically linked plan9 binary is smaller than a dynamically linked linux binary.
If dynamic linking is so great, why don't you have every function in its own library and allow the kernel to swap in the current definition at run time?
676bef No.3446
>Is lisp and functional programming is used by anyone but academia autists?
I've put lisp in production for a number of clients.
2f17cc No.3475
>>3445
When a library updates and breaks a program, you either update the program, don't update the library, or you install both versions with different (so)names. Same goes if you want different versions. Another approach is installing it in a different directory, and adapting LD_LIBRARY_PATH.
But there's usually a pretty good reason for breaking compatibility (which doesn't happen often enough to really be a problem), and the program should just be updated.
36ee8e No.3518
>C
>C++
For the most part, enjoy using it. Lately I got the habit of using pointers to reference of struct or object attributes (e.g one function declaration, sorting an array of structs by any of it's attributes just by a change of function parameter), but I'm not sure about the other languages I use letting me do that.
Also really like using templates.
>Assembly (x86 & MIPS)
It sounds strange, it's not expressive, abstract, or portable, but I really like it. I think I ought to do more projects with it.
>Python
Didn't use it much. I thought the list comprehensions were neat, but I kept thinking why do it with Python if I can do it in another language and have the program be faster and more efficient.
I guess functions being able to return two variables was cool too.
Kind of thought it was strange that objects really didn't have private types, and there were no switch statements- I suppose it's from being interpreted.
>Lua
Same thought process with Python applied to Lua. Though I didn't delve into it much. I'm fine with a language that doesn't have objects (or rather, some strange way of treating meta-tables as objects). The interpreter I was using wasn't great and didn't tell me the line where an error occurred (or when it did, the line is where the problem is, wasn't actually at that line), so it got a bit frustrating to use at times but not a blame on the language.
>C#
Barely used. It's similar and a lot carries over, but I rather not use it and I don't know why either.
7f0be0 No.3525
Python master race
>Java requires strict syntax Python don't care
>C++/C requires strict syntax Python don't care
>Lua is just old
>C# is nice for front-end, but Django makes nice applications
>x86 ASM kek
>Perl nice for linux, but python can pretty much do the same stuff
>Visual Basic is nice to make a simple program, prefer it over python but too many limitations
>Ruby is like a complicated version of python, 'gems' are just libraries you have to spend 10 minutes to config and install, have to chomp and covert data python wouldn't care about.
Currently at a dev conference, I understand the "don't use python much" in previous comments. Most people are so used to Java and their flavor of C, I see why python isn't talked of much on the chans
fe6e05 No.3544
Best: D
Worst: Tossup between PHP and MATLAB
Not sure if XSLT is really good or really bad. It's usually a pain to work with, but I always get the feeling I'm using it wrong.
ecb106 No.3545
Best: modern C++ with limited OO (structs + templated utility classes + free functions).
Worst: every web language.
fc4912 No.3546
>Everybody saying PHP as worst
PHP is bad, but you don't know "worst" until you have to program in a small company's hand-baked language made by their resident senior developer who had been a programmer for a year when he decided he was going to make the language to define his company.
I have to program most days in an XML-based scripting language that is similar to XSLT but much worse. It's a dynamic language without the ability to define subroutines, no ability to loop over anything except variables (meaning to arbitrarily loop from 1 to 10, you have to export them each as variables first), no conditionals, etc.
<variable name="test" exp="2 * 2" />
<choose>
<when>
<condition>
<test value="${test}" operator="lt" threshold="4" />
</condition>
<!-- Do something here -->
</when>
<when>
<condition>
<test value="${test}" operator="lt" threshold="6" />
</condition>
<!-- Do something here -->
</when>
<otherwise>
<!-- Do something here -->
</otherwise>
</choose>
The worst part isn't even the syntax, it's the fact that it's so full of bugs that every time I'm programming in it, at least half of the code is there just to work around bugs in the single implementation, and the single reference implementation hasn't been updated in over a decade because it's active and deployed to thousands of machines across hundreds of clients, many of whom are contracted to receive updated scripts but can not have the implementation changed by contract, so we literally can not update it without still having to support the old buggy shit anyway.
fc4912 No.3547
>>3544
XSLT is really good for transforming XML into any other kind of text-based document, and really bad for everything else.
If you need something for a specific situation, you can usually just use an XML library in any other language, but XSLT has the advantage that it's standard, it's in every libxml2 installation (and most XML toolkits, really), and it's in every major web browser already.
It's a special-purpose tool, and like every special-purpose tool, it becomes terrible when used for things it wasn't intended for.
812e42 No.3558
Best: Python
Worst: Objective C
d6a83f No.3560
Good:
C++
Scheme
Promising:
Perl 6
Bad/Mediocre:
Visual Basic
GML
86e0a7 No.3575
e770e0 No.3577
>>3575 is correct about Racket being both the best and worst language. It's the worst because of all of the teaching language bullshit and crappy type system (in the base language, there is no type system, but you're expected to write out the types in comments. WTF?). It's also the best programming language because you can write any programming language you want, to solve any problem you want, and it will freel interoperate with every other Racket language.
8d8e2d No.3756
Best: C(++)
Absolute Worst: Scratch
484595 No.3771
>>1967
Try Coffeescript. It's the only way I can write Javascript today
6c361c No.3773
Best: Java 8 & Scala
Ok: Python & CoffeeScript
Worst: C & C++
912b18 No.3843
Best - C++. I just like being in control of my own code without subscribing to Luddite conventions.
The absolutely worst language I ever used is GSPS (or GSSM, I don't remember). None of you probably heard about it, but it is a language used to model queuing systems in the 90s. It requires you to manually type line numbers, has like 2 compilers, both embedded into (very) shitty IDEs, has literally no debugging tools (including printf analogue), and was shat out by Satan after dining on Hitler.
912b18 No.3844
>>3544
>>3027
>MATLAB
>bad
Are you people out of your minds? MATLAB is fucking amazing. Sure, it is a language for engineering/science applications, not systems programming. But within its domain MATLAB is the best thing ever. It has easily implemented lambdas. It has the best matrix operation syntax ever conceived. It allows you to write parallel code by specifying vector operations instead of all the common hacks of parallel computing. It's so easy to read that sometimes it's easier to just skim through the MATLAB code than read a paper on the algorithm. It has a glorious debugger that gives you complete control over environment at breakpoints. You got an error at line 5? Put a breakpoint there and you can modify and execute the problematic command until you figure out what the problem is.
The only two problems with MATLAB I can think of are that it is proprietary (rectified by GNU Octave) and speed. But all and all, MATLAB is probably the best sci-computing language out there (unless you need to process a lot of data, like hundreds of GBs, than go for C++).
e96e9a No.3849
>>3756
I tried to upload porn to Scratch. :^)
89ea35 No.3871
>>2841
now I have a total and complete boner and it's for all the wrong reasons.
89ea35 No.3876
>>2533
>>2533
C# is one of the worst languages I've ever had the misfortune of programming with. Yuck, yuck fucking yuck.
ce1b3c No.3880
Best: Haskell – Hard to wrap your head around the concepts at first, but absolute pleasure to write in.
Worst: Ruby – Needs 100% code coverage otherwise you're gonna have bugs in every module that is not thoroughly tested. Horrendous design, duck typing alone gives me nightmares.
d05d27 No.3884
edb2de No.3907
>>1986
>>2529
Oh joy! Why haven't I heard about this before? What a lovely day, the day I learned about Befunge.
Blast processor. Multi track drifting. The words fails me.
d5611d No.3915
Best: C#
Worst: WinDev, Java
>>2010
Makers == Hipsters who make horrible websites, might know python.
Developers == People who feel self-conscious about their programming ability.
Programmers == People who can make anything even if they have to write the tools themselves
Code-Monkeys == People who work for a big companies doing boring work, only uses/gets to use .Net languages and has written tons of VB code.
Web-designers == Css specialists (Partly overlaps with hipsters who make horrible websites, but contains people who do decent work)
Web-developers == Know javascript and lots of unnecessary frameworks and libraries.
lispers/schemers/whatever == Faggots who insist that some esoteric language is the best and produce no code except for doing the exercises in their books/tutorials.
Tha-one-guy-who-insists-on-writing-assembly == Knows his shit but writes one program every two years.
Feel free to expand on this or post your own list.
>>3054
The fridge is also illustrative of java's speed.
55a51a No.3981
Best: Rust
Ok: C (I learned it, but can't stand it long enough to get anything big done.)
Usable: Java, I learned it first. I don't use it for anything serious anymore though.
Absolute Garbage: JavaScript, C++
e55eda No.4009
>>3546
Oh wow; I'm guessing that senior developer is now one of the unfireables, right? That's the only reason I can see for doing something like that.
799d6c No.4030
799d6c No.4031
>>2764
>implying they teach real programming in highschool
Nice meme
Gonna go learn some more MS Word
Cya
799d6c No.4032
Best/Worst language at all times forever is LISP and all of its dialects. Aside from Scheme and Common LISP, which are ALWAYS good.
1870d4 No.4033
Best: C, I love working/contributing with projects written in C whether it's Windows or Linux. I like Go as well.
Worst: ASP.NET
280bfa No.4040
>>3200
You might want to chill up a bit.