Jump to content




Worst language


  • You cannot reply to this topic
27 replies to this topic

#1 HDeffo

  • Members
  • 214 posts

Posted 24 February 2015 - 12:42 PM

So for my robotics course in school I'm currently having to work with a language from 1991 to program our robot and it is just awful compared to any modern languages so I was curious what language does everyone dislike the most of the ones you've used? Please give the language name and why you don't like it.


FANUC KAREL (based off of PASCAL)

This language just isn't flexible or intuitive at all it's usage is very strict and has the oddest quirks. On top of it's rules it also doesn't implement many things which make other language much easier for example this code in my TIC TAC TOE code for class

(First represented in Lua)
winPnt = {{1,4,7},{2,5,8},{3,5,9},{1,2,3},{4,5,6},{7,8,9},{1,5,9},{3,5,7},}

(Now how I had to do it trying to shorten the code as much as possible)
         FOR index1 = 1 TO 3 DO
		FOR index2 = 1 TO 3 DO
			winPnt[index1][index2] = (9 - index1) - ((index2 - 1) * 3)
		ENDFOR
	ENDFOR
	FOR index1 = 4 TO 6 DO
		FOR index2 = 1 TO 3 DO
			winPnt[index1][index2] = ((index1 - 4) * 3) + index
		ENDFOR
	ENDFOR
	FOR index2 = 1 TO 3 DO
		winPnt[7][index2] = 1 + (index2 * 2)
	ENDFOR
	FOR index2 = 1 TO 3 DO
		winPnt[8][index2] = 1 + ((index2 - 1) * 4)
	ENDFOR


#2 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 24 February 2015 - 03:46 PM

This language looks horrible!

#3 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 25 February 2015 - 12:33 AM

You couldn't pay me enough to program in that. Or force me.
Maybe try looking for a compiler that compiles into this language?

Edited by Geforce Fan, 25 February 2015 - 12:33 AM.


#4 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 25 February 2015 - 12:42 AM

Oh teh noes, you have to use "to" instead of a comma and "endfor" instead of "end". I'll assume there's more to it than that, but your example code doesn't exactly look "painful".

I'd pack it down a bit more, though:

	FOR index1 = 1 TO 3 DO
		FOR index2 = 1 TO 3 DO
			winPnt[index1][index2] = (9 - index1) - ((index2 - 1) * 3)
			winPnt[index1+3][index2] = ((index1 - 1) * 3) + index
		ENDFOR
		winPnt[7][index1] = 1 + (index1 * 2)
		winPnt[8][index1] = 1 + ((index1 - 1) * 4)
	ENDFOR

Is the use of "index" (as opposed to "index1" / "index2") on that one line intentional?

Edit:

Ah, I see, you're trying to rebuild the array.

In that case, my answer is: don't. Just use the code to check for your victory condition directly. Don't try to force a square peg into a round hole.

Edited by Bomb Bloke, 25 February 2015 - 12:50 AM.


#5 Agent Silence

  • Members
  • 319 posts
  • Location[string "FindMe"]:23143: bad argument #1 to 'returnPos' (vector expected, got nil)

Posted 25 February 2015 - 02:27 AM

View PostBomb Bloke, on 25 February 2015 - 12:42 AM, said:

-snip-
I understand how it doesn't look painful, but that use of caps is just savagery.

#6 Bomb Bloke

    Hobbyist Coder

  • Moderators
  • 7,099 posts
  • LocationTasmania (AU)

Posted 25 February 2015 - 03:41 AM

I've spent a lot of time in the QB IDE, which applies the caps automatically after you enter each line. No extra work on your part, and keywords become obvious (even on a monochrome display).

Also very useful in that if the IDE fails to parse the line, it can't change it - so if you hit enter and the case stays as you typed it, you know you've got a mistake to go back and fix!

#7 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 25 February 2015 - 05:04 AM

Most painful language... so first question is serious or esoteric? Because Esolang has a hitlist of programming languages designed to be difficult to write in. I've only tried one or two of these but some are truly horrible, both to write and to debug. I've only tried one or two of these but for some of them, just getting printed output is utterly painful.

If we're talking about integrated languages, as in languages that work directly with a development environment rather than being able to run standalone, I would cite AS3 as perhaps the languages I have the most experience with hating. It's not that the language itself is terribly ugly, AS3 code is perfectly legible and C-like, it's just the way that all programs have to be structured around Flash scenes and things like scoping are completely obtuse to the user. Sometimes runtime behaviour is inconsistent or reliant on some property of the document that is unclear given the way the language works, and it can take awhile before getting it to perform consistently (along with a ton of other issues, like no web page debugging tools etc.) But that's not so much AS3's fault as the environment's fault.

But if we're talking about a language that is painful based on it's own merits rather than the tools needed to use it, I think the language I've found the most painful to write is probably PHP. On it's website I've seen it described as "glue", and that's about how I'd describe programming in it too; tedious and sticky, like tying strands of spaghetti together. This blog post is pretty old now, but it was current when I was doing PHP and sums up my feelings reasonably well. Perhaps not an original choice and there are languages I've had a harder time writing in, like Prolog for example, but in retrospect that probably isn't the fault of the language.

I'm a boring example though. There are programmers out there I've known that have worked with COBOL, custom database languages and other things that are the stuff of nightmares.

#8 SpencerBeige

  • Members
  • 263 posts

Posted 25 February 2015 - 02:56 PM

javascript is very good, because you can easily set functions and do anything.

Edited by slow-coder, 25 February 2015 - 02:57 PM.


#9 Geforce Fan

  • Members
  • 846 posts
  • LocationMissouri, United States, America, Earth, Solar System, Milky Way, Universe 42B, Life Street, Multiverse, 4th Dimension

Posted 26 February 2015 - 01:39 AM

That Chef language is hilarious.
I love languages that try to look like they're not even programming languages, but some sort of literature.

#10 oeed

    Oversimplifier

  • Members
  • 2,095 posts
  • LocationAuckland, New Zealand

Posted 26 February 2015 - 07:44 AM

View Postnitrogenfingers, on 25 February 2015 - 05:04 AM, said:

But if we're talking about a language that is painful based on it's own merits rather than the tools needed to use it, I think the language I've found the most painful to write is probably PHP. On it's website I've seen it described as "glue", and that's about how I'd describe programming in it too; tedious and sticky, like tying strands of spaghetti together. This blog post is pretty old now, but it was current when I was doing PHP and sums up my feelings reasonably well. Perhaps not an original choice and there are languages I've had a harder time writing in, like Prolog for example, but in retrospect that probably isn't the fault of the language.

Yeah. Despite having spent hours in PHP sometimes I really hate it to bits. Since going completely OOP with it I've found it less annoying, and maybe that's just because I find non-OOP ways messy and hard to use, but you really have to do almost everything yourself. This is particularly true when dealing with form inputs.

I'm also really not a fan of AppleScript. It's just too 'Englishy' for me, you just don't really know what word to use. Oh, and this might be pretty controversial, but every time I try Java I storm off in a range. Generally because of the atrocity that is their million types of lists, arrays and the like. Objective-C has it pretty good with dictionaries and arrays, and Lua does too in it's simplified but super powerful system.

#11 ElvishJerricco

  • Members
  • 803 posts

Posted 26 February 2015 - 05:14 PM

View Postoeed, on 26 February 2015 - 07:44 AM, said:

Yeah. Despite having spent hours in PHP sometimes I really hate it to bits. Since going completely OOP with it I've found it less annoying, and maybe that's just because I find non-OOP ways messy and hard to use, but you really have to do almost everything yourself. This is particularly true when dealing with form inputs.

You should look into functional programming like Haskell (not like JavaScript). Once you get the hang of it, it's beautiful.

View Postoeed, on 26 February 2015 - 07:44 AM, said:

I'm also really not a fan of AppleScript. It's just too 'Englishy' for me, you just don't really know what word to use. Oh, and this might be pretty controversial, but every time I try Java I storm off in a range. Generally because of the atrocity that is their million types of lists, arrays and the like. Objective-C has it pretty good with dictionaries and arrays, and Lua does too in it's simplified but super powerful system.

AppleScript might be the worst language I've ever, ever used. The syntax is seriously nonsense. It's impossible to go into a program with an idea of what you want to do, and just write it. You have to be constantly googling just the syntax for how to write different things, because it's so complex. And usually, if you find something online that's similar to what you want to do, the syntax is completely wrong for the slightly different task you actually want to do. And the libraries and data types or horribly undocumented and vague. It's just awful... I don't like JavaScript, but I'm glad Apple added it for os automation because it's way better than AppleScript.

Edited by ElvishJerricco, 26 February 2015 - 05:18 PM.


#12 Lignum

  • Members
  • 558 posts

Posted 26 February 2015 - 05:29 PM

INTERCAL. Hello World example taken from wikipedia:
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

This entire language's purpose is to annoy the programmer. READ OUT is print, WRITE IN is read. You have to insert PLEASE into your code now and then because the compiler won't compile impolite code. On the other hand, if you use it too much, you will be considered excessively polite. There also are no strings, which means you have to deal with the individual bytes, not even characters. Oh and did I mention that there are no errors? The language will roll with anything you throw at it, so to make a comment, just write invalid code.

#13 _removed

  • Members
  • 262 posts

Posted 26 February 2015 - 06:41 PM

View PostLignum, on 26 February 2015 - 05:29 PM, said:

INTERCAL. Hello World example taken from wikipedia:
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

This entire language's purpose is to annoy the programmer. READ OUT is print, WRITE IN is read. You have to insert PLEASE into your code now and then because the compiler won't compile impolite code. On the other hand, if you use it too much, you will be considered excessively polite. There also are no strings, which means you have to deal with the individual bytes, not even characters. Oh and did I mention that there are no errors? The language will roll with anything you throw at it, so to make a comment, just write invalid code.

That PLEASE would rip my head off. Since when does a compiler check if you need manners? Useless and frustrating.

#14 Lignum

  • Members
  • 558 posts

Posted 26 February 2015 - 08:09 PM

View Postsmigger22, on 26 February 2015 - 06:41 PM, said:

That PLEASE would rip my head off. Since when does a compiler check if you need manners? Useless and frustrating.
Well, it is an esoteric language... and it's doing a good job being one.

#15 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 26 February 2015 - 09:45 PM

View PostLignum, on 26 February 2015 - 05:29 PM, said:

INTERCAL. Hello World example taken from wikipedia:
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

This entire language's purpose is to annoy the programmer. READ OUT is print, WRITE IN is read. You have to insert PLEASE into your code now and then because the compiler won't compile impolite code. On the other hand, if you use it too much, you will be considered excessively polite. There also are no strings, which means you have to deal with the individual bytes, not even characters. Oh and did I mention that there are no errors? The language will roll with anything you throw at it, so to make a comment, just write invalid code.

That part with politeness made me laugh so much. PLEASE READ OUT

#16 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 26 February 2015 - 10:03 PM

To everybody complaining about difficult languages, try Malbolge!!! Then we'll talk again!

~Creator

#17 nitrogenfingers

    Lua Professor

  • Members
  • 551 posts
  • LocationAustralia

Posted 27 February 2015 - 06:00 PM

View PostCreator, on 26 February 2015 - 10:03 PM, said:

To everybody complaining about difficult languages, try Malbolge!!! Then we'll talk again!

~Creator

It almost feels like cheating to mention Malbolge :P But yes I'd agree, it is objectively the most painful language to program with in existence.

#18 Creator

    Mad Dash Victor

  • Members
  • 2,168 posts
  • LocationYou will never find me, muhahahahahaha

Posted 27 February 2015 - 06:26 PM

There is another language basedon Morse, I don't remember the name, just search "most annoying esotheric languages". The idea is that you program in morse. It's so hard that the author of the language didn't feel like finishing the "Hello world" example.

Creator

#19 HDeffo

  • Members
  • 214 posts

Posted 06 March 2015 - 05:08 PM

View PostBomb Bloke&amp, on 25 February 2015 - 12:42 AM, said:

Oh teh noes, you have to use "to" instead of a comma and "endfor" instead of "end". I'll assume there's more to it than that, but your example code doesn't exactly look "painful".
Mainly in that example code I was pointing out you can only define one item at a time and as reference for even more annoyance to that one at a time issue if you don't initialize all used variables quickly enough on start the program will error out.

View Postnitrogenfingers, on 25 February 2015 - 05:04 AM, said:

Most painful language... so first question is serious or esoteric?
I was mainly referring to serious languages although esoteric ones can be included too :P/&gt;
also for anyone who is curious to see the final outcome of this frustrating language heres how my final ended up looking
Spoiler
list of annoyances in this code

*(most) whitespace is required and cant be changed such as including a space or not OR using tab instead of several spaces.
*the inconsistent need that some items ALWAYS be lowercase while others ALWAYS be uppercase
*numbers cant go past 255
*any defined names including the name of the program cant have more than 8 characters
*the size of an array has to be predefined and cant be changed after. You can use a wild card size "[*]" however the max size still needs to be defined at the start of the program so its rather pointless in my opinion...
*if you use any string variables you need to define the length of the string similar to how you define the length of an array
*array indexes can only be defined one at a time
*arrays can only be a max of three dimensional (though this didn't end up being an issue for me)

and the one I found most annoying of any of the other issues with this class

in lua (and most languages that i know of) this is accepted

a = function()
	b()
end
b = function()
	number = 1
end
a()

however in karel if we attempt something similar...

PROGRAM foo

VAR

   number	 :INTEGER

ROUTINE a

BEGIN
	b	 --#Will error here because b wasn't defined yet even though technically we don't call out b until after it is defined
END a
ROUTINE b

BEGIN
	number = 1
END b

BEGIN
	a
END foo

This made it really tedious trying to organize my code so nothing referenced another routine before the routine was defined in the code.

Edited by HDeffo, 06 March 2015 - 05:28 PM.


#20 MKlegoman357

  • Members
  • 1,170 posts
  • LocationKaunas, Lithuania

Posted 06 March 2015 - 06:12 PM

Well, I think it is a good practice to first define your variables and then use them, at least their definition, not value in any language. Improves readability :)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users