|
GW-BASIC, and then QBasic, for me, were the epitome of fun. I'm glad I started with them. From there I went to Pascal and Modula-2. Those were good educational tools.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
FORTRAN was fun - at least compared to COBOL which was pretty much the only other "mainstream" language which stood a chance of running on different machines! If you didn't like the operating system, you could change it using COMMON to declare a single integer and then use it as a five dimensional block of characters ... Who needed pointers to overwrite memory you didn't own?
Then Algol ... The poor mans Pascal. No fun at all. Pascal wouldn't even crack a smile for Niklaus Wirth!
Then came assembler ... and total control over the machine. Loved it.
Learned C, used that along with assembler (The compilers produced terrible code, and processor speed and memory were both limited)
Played with C++, but even at the beginning, it was trying to be the overcomplicated lump it is now.
Ack! Poo! VB for my sins, which mush have been significant ...
Then C# ... And I still smile when I see it - and damn good language, though it's starting to get messed with by both the C++ mob and the VB fanboise, sadly.
Basically, similar rods; same destination.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
re C# - my concerns exactly. Poor language is about to be C++/VB-ified....
|
|
|
|
|
Marc Clifton wrote: as I love C#.
and for me, that is all that matters...for now.
|
|
|
|
|
Marc Clifton wrote: nowadays, frameworks and languages are opting for fun.
Is that why there's so many frameworks to choose from? Because "fun" is subjective, and everybody has his own interpretation?
|
|
|
|
|
I suppose that a language which enforces discipline would be more fun because of it.
Or maybe the discipline:fun graph is a bell curve?
Languages which enforce too little or too much discipline provide less enjoyment, while there's a sweet-spot with "just" enough discipline to maximize the fun?
|
|
|
|
|
Well here is a less formal path to c#
Excel 1 - VBA macros converting lotus 123 macros, fun bah it fed my family for a number of years
SuperBase - complete PC database on a 3.5 floppy - fantastic fun as it was a flavour of basic
Access - MS bought the wrong database, SuperBase was way more fun.
Delphi - What a blast, loved it till someone pointed out I was pissing memory away everywhere.
One of the 4GLs - forgot which one but support was pathetic so I moved on.
VB - all flavours, fun, dammed right, churning out solutions for corporate was hugely interesting.
SQL - Going from Access to SQL Server was like stepping out into the sunlight.
VB.Net - natural progression and still enjoyable.
c# - finally made it to a decent platform with oodles of support.
Managed to dodge HTML5, loathed Javascript, Python scared the crap out of me with all those add ins that everyone uses.
Now I am making a Coffee/Venue rater in Xamarin and it is not fun.
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Marc Clifton wrote: My journey through programming was like this: I wonder if my memory will hold up as well as yours!
- 1971 - FORTRAN - OK (had access to the Board of Education's IBM during the summer after 9th grade)
- 1975 - BASIC - boring (1st year university)
- 1976 - Pascal - good (2nd year)
- 1976 - PDP-10 assembler - tedious but still remembered very fondly (2nd year)
- 1977 - Simula - innovative (3rd year)
- 1978 - LISP - bizarre yet interesting (4th year)
- 1981 - Protel - advanced for its time (proprietary for large, embedded systems)
- 1986 - Modula - better Pascal (on the Amiga)
- 1996 - Protel-2 - excellent (OO extensions to Protel)
- 2002 - C++ - powerful and daunting (at a start-up and ever since)
modified 13-Oct-20 20:14pm.
|
|
|
|
|
My favorite language has always been the language I'm working in at the moment. Over time it's been:
Tiny BASIC: 26 variables, 16-bit signed integers named A-Z
TI-59 programmable calculator
FORTRAN, many flavors
8080/8085 assembly language
PL/I
Ada: Very disciplined
[Turbo] Pascal: awesome environment
LISP
C
80386 32-bit flat memory model assembly language; OS/2 device drivers, anyone?
C++
C# (my current favorite, with C++ a very close second)
Software Zen: delete this;
|
|
|
|
|
C - fun if you like memory leaks and overwriting memory you don't own
C++ - fun if you like the problems with C and the discipline of classes and templates
C# - a good balance between fun and discipline
I write a bit of software in C++, and things have really changed over the last years. Tooling, like AddressSanitizer, is a real game changer, so is using std::unique_ptr<> and std::shared_ptr<> . It is now rare that I experience the problems you describe for C while developing software in C++.
As for the fun: std::enable_if<> was/is an eyesore that most people struggled to get right, and I am happy that now that we have C++ 20 concepts the fun is back in the language. I also happen to write a bit of software in C#, and yes there is much that is good, but, honestly, I have more fun doing things in C++.
Espen Harlinn
Chief Architect - Powel AS
Projects promoting programming in "natural language" are intrinsically doomed to fail. Edsger W.Dijkstra
|
|
|
|
|
As someone else said, the fun language is the one I'm using at the moment.
In order of learning, my most fun languages are:
BASIC
6502 assembly
EDIT: Z80 assembly
Turbo Pascal, MS Pascal
Fortran
8088 assembly
C
6809 assembly
80286 assembly
C++
80386+ (flat mode) assembly
C#
Java
I include different generations of the 80x86 family because each of them has different challenges for writing optimized code.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
modified 14-Oct-20 4:11am.
|
|
|
|
|
BASIC - fun with a ugly programming language
Z80 Assembly - definitely fun
C - fun and discipline
Pascal - not that fun
Forth - fun and desolation
C++ - fun and discipline
Java - (no comment)
Lua - fun, fun and discipline, fun again
Python - fun, less interesting than Lua
PIC16 assembly - discipline, than, possibly, fun
PIC24 assembly - fun and discipline
PIC32 (MIPS) assembly - fun and discipline
8051 assembly - the poor man fun
Haskell - fun, but...
C# - interesting, less fun than C++
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
I have always had fun with all the languages I have worked with.
Fortran IV On an IBM 360. Back in 1971
COBOL
PL/I
Assembler
C
Basic in numerous flavours from GW-BASIC, QBasic, Basic for the Oric, VB all up to 6 VB.Net and some I have forgotten. The first version I ever saw was in the 70s on an HP Computer that had a one line/80 character display. Actually wrote a small word processor on that.
Clipper with DBase I loved until Nantucket stepped aside
SQL is the one I cannot live without
PHP is fun but I have never used it professionally.
I have just started using C# and it looks good.
|
|
|
|
|
Depending on the defintion of "fun" and "disciplined", a language can be both. C, for example, demands heaps and heaps of discipline from the programmer while providing hardly any discipline by itself (undefined behaviour is a´n ugly can of worms as are forward declarations at a time where my smartwatch has more RAM, than a supercomputer in the 70s).
Then there's the difference between discipline for the sake of discipline, or discipline because it makes sense. "Do stuff this way because that's the way stuff is done" vs. "do stuff that way because that way ensures some basic code quality/debuggability".
The latter kind of discipline strongly correlates with fun, in my mind anyway.
I strongly agree on C#, it's IMHO a good example of fun discipline. Some parts still don't make sense (when I HAVE to use a goto to fall through a case, why not throw break out of the window entirely and have cases NOT FALL THROUGH at all?) but it's mostly a well-structured language. As is C++, by the way. Assuming you stick to the more modern parts of it. C++12 is somewhat fun. C++17 is sometimes cleaner, than non-preview C# as of now. Now if there were C++-compilers throwing errors or at least warnings on decades-old idioms, that would be nice. Python, for me anyway, lost it's fun appeal quickly when working with larger code bases. The total lack of structure (where's the entry point?) is fun for small projects, but becomes a chore of discipline for anything large.
-- modified 14-Oct-20 3:23am.
|
|
|
|
|
|
Doing a project in C++ in the meanwhile, clang-tidy can optionally be used from Visual Studio. I use it in release builds as it increased the build time by about an order of magnitude from compiling without it (and precompiled headers) and it helped me in a couple places already. Thank you!
|
|
|
|
|
ZX Spectrum BASIC
6502 Assembly
Pascal
SQL
COBOL
VBA(is it a programming language?)
Visual Basic
C#(still my favourite)
SAS(Statistical Analysis System)
TypeScript(Javascript done properly)
Python
Kotlin
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
modified 14-Oct-20 4:35am.
|
|
|
|
|
Fortran, ALGOL-60, ALGOL-68: no fun at all.
Simula-67: I wouldn't say fun, but very mysterious and inspiring.
Basic was fun in the 80s, as was Z80 machine code (not Assembler).
Pascal (Delphi), Python, and Java: Never liked them because they give you points if you sit straight and are well-behaved. They get it wrong. No fun at all.
Cobol: Fun if you read source code written by a physics professor. So mostly for other people to write.
PL/1: Fun. You could have a string with a negative length and append it to another string.
C, PHP, Javascript: not fun, but a lot of freedom, so OK after all.
C++, C#: They do not fit in my brain case, leaving no room for fun. C# tries to become better at pattern matching. Points for that.
Bracmat: my workhorse, still much fun.
The winner is Snobol 4. So unorthodox. But that was back in the 80s.
|
|
|
|
|
Never heard of Bracmat, so I looked it up and found this example on GitHub:
& ( !table:? (!country.?len) ?
& :?N
& ( @( !arg
: ?
( %@?c ?
& ( !c:#
| !c:~<A:~>Z
& asc$!c+-1*asc$A+10:?c
& 1+!len:?len
| !c:" "&:?c
|
)
& !N !c:?N
& ~
|
|
|
|
|
Yes, I found that piece of Bracmat code on Stackoverflow. The accompanying comment is: "this programming language Bracmat [code that is cited] beats Perl in terms of line noise". I understand the sentiment, so I quoted it in the README.md file as a (self-)ironic note. The code snippet has to do with checking IBAN numbers and is not in the domain where I use Bracmat most often. For an example of Bracmat that shows its strengths, see the "Dinesman's multiple-dwelling problem" on Rosettacode. A serious application that is written in Bracmat is the Text Tonsorium.
|
|
|
|
|
Assembly - The must to understand how a device and a program works at low level
C++ - the best compiled programming language
C - for quick and dirty fun and lots of legacy embedded code
Python - Because someone decided it is the cool guy
|
|
|
|
|
I'm surprised that PHP hasn't had more of a mention. I was made redundant about 8 years ago and, to keep myself busy between jobs, I learnt PHP. I did a couple of small projects and found it a really easy language to pick up and use. No steep learning curve and quick to get results. I'd class it as 'fun'.
Here's my history:
Basic - fun.
COBOL - not!
Plan - ICL 1900 assembler language. A real challenge.
DataBasic - the best, but unless you've worked with the Pick/Universe database, you'll never have come across it.
Bash/Shell - fun, but sometimes hard work.
Python - fun, but the indentation malarky always annoys me - even though it's logical.
PHP - fun.
Java - nah!
JavaScript - a necessary evil.
c# - I'm just an amateur, so can't judge.
|
|
|
|
|
Basic - first language, so kind of fun
Pascal - in high school, meh
C - first language at the university, no fun, no discipline
C++ - interesting, almost fun, and with newer additions also disciplined; first programming language at work
Delphi - seemed like a good tool for one job; not really funny but a little discipline;
Java - booooring (it seems to me like a poor man's tool)
PHP - wat!!? who really wants something like that?
ASM - interesting and fun, challenging
C# - a little bit better than Java, and getting better; sometimes funny with LINQ;
Javascript - funny but... no discipline, it's almost worse than C and C++
Python - yay, no more braces, no more wasted space but... not really funny and not really disciplined
Haskell - fun, discipline, beauty and a lot of challenges, I love it!
If you can't explain something to a six year old, you really don't understand it yourself. (Albert Einstein)
modified 14-Oct-20 5:33am.
|
|
|
|
|
BASIC with line numbers. not the real thing. fun because i was a kid.
6502 assembly, the best
Turbo Pascal. logical. everything falls into it's place easy. you don't forget it. it was two languages, Pascal and Assembly (x86) that you could mix at will. that tripled fun.
C++, the silver bullet. build your own first class data types. copy constructors, virtual destructors, assignment overloading... all very very fun.
about year 2k i started to notice languages as a whole package. the language and the people who use it. most C++ users were heavy into MFC and they would shrug at any mention of WPARAM and the message loop. most Pascal programmers start to talk about linked lists when you mention pointers. dude?
i switched to C. more fun than Pascal, but i long for less strict data typing.
some languages i didn't chose, i had to work with. VB was OK, PHP does the job, but i only like JavaScript (without the DOM).
JavaScript is fun, especially everything that is different than Java.
Java is/was the epitome of chauvinism. that is not fun. that is lame.
Lua is fun.
i must learn Perl, that should be super fun. all the languages that don't have class and morale.
|
|
|
|
|
sickfile wrote: most C++ users were heavy into MFC and they would shrug at any mention of WPARAM and the message loop
Aaah, good'ol'times !
|
|
|
|
|