I’d like to learn those two someday
I recently was forced to learn (common)-lisp for work (because a colleague determined that it was the best language to implement some of our business requirements, and then was out sick with new requests come in) and I actually like it.
It is also far more accessible than something completely different such as prolog. So if you’re looking for a language more like others, that’s also a good choice to be enthusiastic about!
I got about a third through the Common Lisp track. The for
construct really sticks out like a sore thumb to me. I suppose it’s a success of the macro feature, but I was leaning on it like a crutch (with my procedural mindset). Now that I’ve actually gotten through a functional language track (elixir) I’ve been meaning to go back to a lisp track again.
Which begs the question : which lisp-derived track? Why are there so many?
I’ve had a lot of fun learning assembly language. When I read Peter Abel’s book, I had the feeling that I was a novice monk and reading the Bible for the first time. It was 30 years ago, but the feeling has remained until now.
Now I have discovered an 8-bit assembler emulator by following the link and repeated some old programs on it, including sorting the array by increment. It’s very cool when you see a piece of memory that contains your program + data + stack.
There is a 16-bit option, but that’s not exactly what I’m interested in.
I suggest Clojure. It has some excellent IDE integrations like Cider for Emacs or Calva for VS Code. It’s so much fun to write and so concise.
I think the reason why there are so many derivations, is how easy it is to make your own language once you know meta programming.
I want to +1 TCL and share my favorite project implementing a TCL/Tk user interface: osgcc/simcity: Will Wright’s city simulator (renamed here as Micropolis). Mirror of Don Hopkins’ open source version. (github.com)
One of my favorite aspects of TCL is that it is the quintessential language that has the quality of being homoiconic. See Homoiconicity It Is What It Is - Stuart Sierra - YouTube
Interestingly, the two programming languages that I used excessively when I started working are missing here so far: PL/I and REXX
I thoroughly enjoyed programming in Smalltalk, though I don’t feel like I’d have a compelling reason to work in it again.
I never had the opportunity to work in Forth, but I did learn its fundamentals a while back, playing with it a bit. It fascinated me, but for the life of me I can’t imagine why one would choose to use it–seems like it’s fairly harder to figure out how to solve a problem in it at times. Could be just because it’s a new paradigm for me.
I started reading Thinking Forth (and need to finish), hoping that will illuminate me with some thoughts on its value.
The back cover claims: Thinking Forth is meant for anyone interested in writing software to solve problems. The concepts go beyond Forth, but the simple beauty of Forth throws those concepts into stark relief.
Hmm. Bold claim.
1995… what a year!
Also in 1995: Apache HTTP Server and MySQL. So three quarters of the LAMP stack.
And PostgreSQL a year later in '96
I’m in the final stages of creating a learning track for 8th, a multi-platform Forth dialect. It has been a challenge and a half and I’m the better for it. Apologies if I’ve posted this before but do check out the Forth Values which have helped me reconsider some of my practices as a programmer.
Regarding forth values, Leo Brodie’s books are also a good read.
Look forward to nip, tuck and dup’íng the 8th track when its live. I’ve already got 8th installed and ready !
I wonder if we could make a separate topic for forth/8th?
I’m very much interested in this because I had the pleasure of working with the creator of 8th many years ago on a volunteer project. This was long before I would consider becoming a programmer, it was a Hebrew translation project that I was contributing to, but in order to do it I had to learn how to use TeX and fossil, and he even got me to use Vim!
I’m interested in APL, looks like writing spells
I opt for C. Whatever language x I learn or tinkle with,- I always return back to roots. Maybe because it’s good to know that in forever-changing world when compilers and new languages are spawning like a mushrooms after rain,- there’s always a “stable” shelter where you can return to. Or maybe my old and degrading brains are happy that they will not be punished any more with parsing new (and usually strange at first glance) programming concepts. Or maybe because GCC has hundreds of switches from which every user could find suitable ones at particular time moment.
C is turning 50 years right now. I’ve heard news that Linux kernel developers will be shifting from a C development to Rust,- in the long perspective. But I doubt that C will loose firm grounds any time soon. There’s too much hype about new languages (including Rust). I don’t say that Rust is bad. I’m sure it’s cool due to memory-safety guards included. But if you will use correct GCC switches,
for example, -fsanitize=undefined
and others- it will be half-way to the correct C code. Maybe somebody will add in the future option -fsanitize=compile-time
, to even stop compilation if semantic checks of memory safety fails,- then Rust will have no added value to the language “party” hehe :-)
Anyway, when Rust, Go or any other highly hyped new bombastic language will make it’s way into microcontrollers,- i.e. when even 80% of microcontroller manufacturers will start to produce Rust compilers for X board in the place of C compilers,- only then I will say that C has been conquered. But I doubt about that because manufacturers can’t even agree to build all boards with 100% support of C standard library (and it’s understandable, because sometimes they can’t, due to hardware limitations), so speaking about something more complex is empty ripples in the water.
Indeed, APL is great at training brains to think mathematically and conceptually.
I love C! I know many programmers today who are not as old as C. But what is the criteria for “OLD”?? Would Erlang count? Javascript? PERL 5…
Gotta love that Perl 5. I spent quite a bit of time learning and using it while I Pakistan back in the late 1990s. Arguably I might have been better of in the long run with something else, but the there was a lot of interest in it further up in the organisation, so I ran with it.
I always wonder, why Smalltalk is forgotten in list of languages (even it brought such things like, IDE, xUnit, TDD, UI windows,…) It reminds me, there was anniversary recently . See: 48 years of Smalltalk history