Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Programming languages that don't suck

Name: Anonymous 2009-11-22 15:41

Lisp, Scheme and Haskell are the obvious ones. JavaScript is a nice language. C always has its place. C# might be the jewel of enterprise.

What else is there that /prog/ recommends? I've heard good things about ML. A language that seems interesting from its Wikipedia page is Self, but I'm not too sure about it.

Name: Anonymous 2009-11-22 15:43

How about awk?

Name: Anonymous 2009-11-22 15:44

Python. It's fukken made of win and awesome.

Name: Anonymous 2009-11-22 15:47

>>3 python is like the worst language if ever used.

Name: Anonymous 2009-11-22 15:48

ITT WHBT?

Name: Anonymous 2009-11-22 15:49

>>4
Really? If feels worse than Ruby to me, which is a shame since Ruby has some nicer features than Python.

Name: Anonymous 2009-11-22 15:52

Self is interesting, but it's also dead and slow as fuck.
ML and OCaml have a cool module system, but everything else they have is better done in Haskell.
Prolog is very fun (non-determinism, homoiconicity, logic variables and more interesting stuff I can't enumerate succintly) but mostly useless.

Name: Anonymous 2009-11-22 16:02

i think i should mention perl here.
i know its syntax is fucking bullcrap, but it gets shit done well and fast.

lisp and C are abvious on the list.

i also like lua, its quite nice as a scripting language.

Name: Anonymous 2009-11-22 16:11

I like java because it gives me 80k a year.

Name: Anonymous 2009-11-22 16:15

I agree with OP, you'll also want to include your platform's assembly, because it's simply needed to achieve low-level functionality, not because it doesn't "suck", so like C, it has its very important place.

ML is nice and minimalistic, I like it, and O'Caml can be pretty damn fast compared to Haskell.
Prolog has some uses in more niche domains.
Lisp is what I use for most of my programming as it's fun and one of the most flexible languages I've had the pleasure of using.
C# is probably the best plain/enterprise language I've ever used, it's not badly designed for an imperative language, it has a huge library with just about anything in it, and you can get using the library without having to learn too much, in that respect it keeps the brain-usage requirements pretty low, thus keeping the entry bar low, these qualities make it desirable for companies seeking to hire replaceable coders and still get an average product out.

I've heard of Self in the past, and it sounded interesting, but I haven't had the time to try it out, so I can't say much about it.

Name: Anonymous 2009-11-22 16:35

Scheme

Name: Anonymous 2009-11-22 16:44

>>8
Ah yes, Lua. They're brilliant, starting arrays at one. And the logic is impeccable -- people are dumb, so let's not use the number zero. Hey I have an idea for a really revolutionary programming language that even half-brained imbeciles will be able to use -- let's start arrays at TWO!

Name: Anonymous 2009-11-22 16:47

>>12
Brilliant! This idea will be added to the trollgol spec

Name: Anonymous 2009-11-22 16:59

>>13
In fact, I'd be happy to read a Trollgol spec - I have computer languages this year and my professor has a good sense of humor, so I guess I'll earn some good grade for implementing something as ridiculous amazing as Trollgol.

Name: Anonymous 2009-11-22 17:19

>>12
once you've written two lines of code in lua and realize you can index at zero, you stop caring about that and start liking the fact that it's really fast and expressive.

Name: Anonymous 2009-11-22 17:31

Name: Anonymous 2009-11-22 17:52

assembler

Name: Anonymous 2009-11-22 18:31

compiler

Name: Anonymous 2009-11-22 18:39

interpreter

Name: Anonymous 2009-11-22 18:43

debugger

Name: Anonymous 2009-11-22 18:49

Name: Anonymous 2009-11-22 18:54

>>21
what countries identifier is `.clean'?

Name: 12 2009-11-22 18:55

>>15
The Lua standard library disagrees. Not that I care. I would've preferred actual zero-based indexing (like in EVERY OTHER NOTABLE PROGRAMMING LANGUAGE ON EARTH, EVER), but Lua is still quite neat.

Name: Anonymous 2009-11-22 18:57

>>22
Botswana, Mali, Morocco, Nauru, Nepal, and Peru.

Name: 12 2009-11-22 19:34

>>15
Apparently you've never actually tried it:

‌‎>‌‎ t = {[0] = "a", "b", "c", "d", "e", "f"};
‌‎>‌‎ for k,v in ipairs(t) do print(k,v) end
1       b
2       c
3       d
4       e


Oh my, what happened? Where's my "a"? Oh yeah, [0] is being stored in the hash-section of the table instead of the array-section. Ok, let's try this:

‌‎>‌‎ for k,v in pairs(t) do print(k,v) end
1       b
2       c
3       d
4       e
0       a


What the shit?!

And never mind that print(t); merrily prints out something entirely helpful like table: 0x8b297a0. Or that you have to type a semicolon there, but you don't need one in the for-statements above.

Name: Anonymous 2009-11-23 5:20

>>25
print(unpack(t))
No, you don't need a semicolon. There's an obvious reason why they made it so you have to use unpack, but it's left as an exercise to the reader.

Name: >>15 2009-11-23 6:05

>>25
for i = 0, #t do v = t[i]
You can change idioms if you care that much, but my point was that it doesn't fucking matter.

Name: Anonymous 2009-11-23 7:16

So far:

Lisp
Scheme
Haskell
JavaScript
C
C#
Python
Ruby
Prolog
Assembly
Lua

Name: Anonymous 2009-11-23 7:17

VB

Name: Anonymous 2009-11-23 7:50

>>29
0/10

Name: Anonymous 2009-11-23 9:14

Erlang

Name: Anonymous 2009-11-23 10:24

>>26-27
The point is, the most obvious way that one would attempt to print a table does not print anything.

Also, unpack() still doesn't print the hashtable part at all, nor does it print any of the indexes of the array part. So you fail, and so does Lua.

Name: Anonymous 2009-11-23 10:46

>>28
Narrowed your list down a little, because you had a lot of junk on there:

Lisp (specifically, CL)
C
Python
Ruby

The rest have highly obvious and irritating flaws that prevent them from being useful in any but the most trivial projects. Namely: Scheme has no libraries; Haskell is worthless outside of academia; Javascript is plain horrible; C# is just Java with a slightly different flavor of bad to it; Prolog is ... well, just plain shit; Assembly is completely non-portable, not to mention absolutely too low-level to be of any relevance as anything but an intermediate representation in any suitably modern program; and Lua sucks for aforementioned reasons (have you not learned from this thread, or are you that same Lua-troll?)

C has been around for decades, and for a reason. It is the foundation on which countless programs have been written, including most other programming language implementations, and its influence in software design and programming in general cannot be denied. Lisp has also been around practically forever, works very well, and contrary to what some people may believe, is used in many places. (Your car was probably designed with a program written in Lisp.) Python and Ruby are only truly worthwhile as front-end code, and fully useless for any heavy lifting, but they both work very well in combination with C for building GUIs, and writing event-driven logic.

Name: Anonymous 2009-11-23 11:37

>>33
Don't forget Fjölnir, which is the only programming language that excels at "GRUNNUR".

Name: Anonymous 2009-11-23 11:43

>>31
You best be serious motherfucker.

>>33
C [...] its influence in software design and programming in general cannot be denied.
That's no excuse. What makes C good is that it is portable assembler, and assembler is often necessary.

I don't understand propping up Python and Ruby while taking a dump on Prolog. "A cat is fine too" applies here.

Regarding Lua, the fact is that it is better "glue script" than Python. Forget the language itself, have you used an app glued together with Python? It runs like garbage. Back in the day 1MHz was a lot, but our UIs actually had realtime response. Today, we don't have that any more with a thousandfold increase, and Python is batting way worse than average. Google is discouraging internal use of Python for this reason. (I could criticize the language itself, but I hardly care about what other people are willing to put up with in that regard.)

Name: Anonymous 2009-11-23 11:53

Scheme has no libraries
Correction, Not nearly enough PORTABLE libraries

Name: Anonymous 2009-11-23 12:02

Flash is the best programming!

Name: Anonymous 2009-11-23 12:02

Erlang
Yeah, the language where if- and else-blocks both have types, and they both need to return the same type. What the fuck Erlang.

Name: Anonymous 2009-11-23 12:12

>>35
Prolog
Then show me a GUI application, written in Prolog.

And yes, I have used apps glued with Python. ArcGIS is a counterexample to your claims. Ruby has been used as glue code for game logic and other high-demand applications and it's certainly fast enough if you're not trying to do something dumb. Separate out the performance-demanding bits of your code, and write that stuff in C.

And if you think Python is bad because of the GIL, try IronPython, Stackless, Jython, or hell, even TinyPy. The implementation is not the language.

Name: Anonymous 2009-11-23 12:13

IMPLEMENT MY ANUS

Newer Posts