There are a lot of languages designed to be strange. Whitespace, Malbolge, Brainfuck and Piet come to mind.
Most unintuitive behaviours: Javascript (Fortran is close).
Biggest change in thinking: Haskell.
I have to say Python is the strangest language. They don't even call functions functions. There is no semi-colons, and no switch statements. It is a mess.
Ages ago I used to love programming in z80 machine code. Loved loading that Accumulator, and you never forget the screen address of the zx spectrum is 16384.
However much prefer C++, or even C# if I have to LOL, but please no more Python.
They're all strange, we're just used to some of them ;)
4D - An integrated database, IDE and language all in one package. I was into it before they implemented SQL for their database. Kinda Pascal-y, kinda old Visual Basic (pre-.NET era), kinda PHP-y.
To be fair, the language wasn't all that bad, and the debugger in the IDE was pretty good for the time.
JS can be weird at times. I wanted to try my hands on Scala and I found it weird because it had too much syntax to remember and the dev has the liberty to follow imperative(OO) or functional approach or both.
A good language should enforce things so that very few things remain as best practice.
I personally like Python for this very fact. Code won't run w/o indentation and that's how it's.
strangest in what sense? The most esoteric one I have ever used to build something useful was LOLCODE. You can execute the below source here :)
HAI 1.2
OBTW
This is a sample program (FizzBuzz)
It is written in LOLCODE
TLDR
VISIBLE "HAI WORLD! TIS IS FIZZBUZZ!!1!"
BTW Print FIZZBUZZ numbers from 1 to Fizz Buzz
I HAS A MAX_NUMBER ITZ 15
I HAS A COUNTER ITZ 1
IM IN YR COUNTING_LOOP UPPIN YR COUNTER TIL DIFFRINT COUNTER AN SMALLR OF COUNTER AN MAX_NUMBER
DIFFRINT 0 AN MOD OF COUNTER AN 3, O RLY?
YA RLY, DIFFRINT 0 AN MOD OF COUNTER AN 5, O RLY?
YA RLY, VISIBLE COUNTER
NO WAI, VISIBLE "BUZZ"
OIC
NO WAI, BOTH SAEM 0 AN MOD OF COUNTER AN 5, O RLY?
YA RLY, VISIBLE "FIZZ BUZZ"
NO WAI, VISIBLE "FIZZ"
OIC
OIC
IM OUTTA YR COUNTING_LOOP
KTHXBYE
listverse.com/2011/02/17/top-10-truly-bizarre-pro…
omgrofl is my favourite.
I've used or actively written in:
VB & VB.net
C#
(dabbled in) VC++
FoxPro (6 or 7 i think)
Objective-C
Swift
PHP
(dabbled in) Perl and Python
Javascript and various frameworks
FoxPro back in the day was just kinda... weird. In the capacity I used it, it was basically like web forms and SQL with little logic. Just seamed like a waste when VB(.net) or C# could do so much more against some other DB.
I think Objective-C syntax confused me the most. I could see it's similarities to other C based languages; just the specifics for NSObject / protocols / background tasks, just - seriously, @#$*@#$
I see similarities to Objective-C in Swift, but the syntax is much cleaner and I personally think it's a very elegant language; I've enjoyed writing in it so much, I'm considering running it on the server side instead of PHP.
PHP is and always will be home for me; I know others hate it; but for me, it's a swiss army knife. Tell me what you want me to build and I can get it done in an instant (relatively speaking) in PHP. If your not careful, you can produce very ugly code with it and reading others code is sometimes difficult, but it gets the job done when the jobs gotta get done, asap.
In the beginning, every programming language looks strange to you. However the more experienced you become, you realize that all the languages have many things common in them (syntax, architecture, etc.).
For me, JavaScript and CSS were the strangest programming languages.
web developer
Mgbako John
Full Stack Developer
Marco Alka
Software Engineer, Technical Consultant & Mentor
Mario Giambanco
Director of User Experience Development
Agnishom Chattopadhyay
Functional Programming Enthusiast
Let me introduce you to Inform 7, a language for writing Interactive Fiction.
You might enjoy the game Bronze, an interactive fiction about Beauty and the Beast. This is what its source in Inform 7 reads like.
Here is some Inform 7 code for generating Fibonacci Numbers:
"The Fibonacci Sequence" Pisa is a room. Leonardo Fibonacci is a man in Pisa. "The modest Italian mathematician, Leonardo Fibonacci (1170-1250), beams at you." Sequencing is an action applying to one number. Understand "sequence [number]" as sequencing. Instead of sequencing, say "You make a feeble attempt, sketching in the sand, but it goes nowhere. Leonardo is sympathetic. 'Often goes wrong for me, too, actually. I didn't even invent the thing - the ancient Indians knew about it first.'" Persuasion rule for asking Leonardo to try sequencing: persuasion succeeds. Report Leonardo sequencing: let N be the number understood; say "Leonardo scratches his head and makes self-deprecating remarks, before coming up with [the first N terms of the Fibonacci sequence]." [ An array need not be fixed in length, as the following example shows:] To decide what list of numbers is the first (F - a number) terms of the Fibonacci sequence: let the Fibonacci sequence be {1, 1}; let N be 3; while N < F: let the last term be entry (N - 1) of the Fibonacci sequence; let the penultimate term be entry (N - 2) of the Fibonacci sequence; let the next term be the last term plus the penultimate term; add the next term to the Fibonacci sequence; increment N; decide on the Fibonacci sequence. Test me with "sequence 20 / leonardo, sequence 20".