💾 Archived View for bbs.geminispace.org › s › programming › 22482 captured on 2024-12-17 at 15:20:24. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Comment by 🚀 stack

Re: "Language to learn"

In: s/programming

To each his/ver own! For me Lisp is pure joy!

PS Lisp is not really a functional language, it is a pragmatic multi-paradigm language that easily supports functional or OO style if you so desire...

🚀 stack

Dec 05 · 12 days ago

16 Later Comments ↓

🎵 alice-sur-le-nuage · Dec 05 at 21:00:

I'm yet to see a functional language that doesn't call itself "pragmatic multi-paradigm" language :)

👽 TKurtBond · Dec 08 at 03:15:

Another language that changes the way you think is Forth. Many of the Lisp languages are about building languages that fit your problem at a high level. Forth is also about building languages that fit your problem, but where Lisp uses garbage collection, strong dynamic typing, and s-expressions as ASTs, Forth starts with direct access to memory, direct access to a stack for passing parameters between words (Forth's equivalent of procedures and functions), and the ability to create new syntax using direct control over how the language interacts with its reading of source code.

Forth places everything under your direct control, but that also means you have to BE in control: Forth does what you tell it, so if you take a bunch of bits you've been treating as a character and suddenly treat them as a number, Forth will do that: you have to keep things straight. Also like Lisp, Forth is very interactive; both are fun and useful to interact with to figure things out.

👽 TKurtBond · Dec 08 at 03:28:

An interesting family of programming languages is Niklaus Wirth's Oberon and it's descendants. Unlike most computer languages which are designed by piling on feature after feature, it was designed by adding one important feature, type extension of records, and then removing unnecessary features from his earlier languages Pascal, Modula, and Modula 2, resulting in a very understandable language. I have a fondness for Oberon 2, which adds type bound procedures, giving a classic object oriented language, but others prefer the increasing simplicity of Wirth's later versions of Oberon, which he again designed by removing things.

🚀 stack · Dec 08 at 13:46:

Forth is incredible. In many ways it is an inversion of Lisp.

Lisp, Forth, and Smalltalk form a large triangle marking the bounds of computer languages... Almost all lie somewhere inside, leaning towards one or the other...

Lisp: code is data!

Forth: data is code!

Smalltalk: No, it's objects all the way down...

🦂 zzo38 · Dec 08 at 23:59:

There is also PostScript, which is a programming language that I sometimes use. (It is not only for graphics or for printing, although it can be used for that too.)

🚀 stack · Dec 09 at 00:59:

PostScript is a Forth..

🦂 zzo38 · Dec 09 at 03:09:

PostScript is not a Forth, although it is RPN, and so is Forth. PostScript is different in many significant ways.

🚀 stack · Dec 09 at 15:50:

Scheme differs from Common Lisp in extremely significant ways, yet it is a Lisp.

A concatenative language with RPN notation is a Forth in my book!

🚀 maha · Dec 09 at 19:20:

when you say hobbyist, i'm confused aobut whether you mean just programming for fun, or whether you want to learn half of computer science - if you want to have fun programming - smalltalk/squeak is visual and kinda fun - lua is another fun language, and so beautifully simple that you can build OOP on top of it if you want - if you want to learn half of computer science - I strongly suggest C because it gets you so close to the hardware, not C++ because then you'll just get distracted by all the OOP.

I didn't like the concept of Go at all until I started coding in it, its actually great and practical, and might be just what you need to have fun and learn computer science

🦁 Houjimmy [OP] · Dec 14 at 10:49:

By Forth you mean Fortran?

🦁 Houjimmy [OP] · Dec 14 at 10:52:

Well, I will do it for fun, and would be nice to be able to help any kindred projects. But I also work in the field of Instrumentation, so something like ST (Structured Text for PLC programming) would help me a bit to not rust my skills (since I am still not in a function at work where I can program the PLC itself).

🚀 stack · Dec 14 at 16:32:

No, by Forth I mean Forth.

🐻 erick · Dec 16 at 20:08:

Many have already mentioned Python, and I think I even saw someone give JavaScript a shout-out as well. These two are, in my opinion, among the most beginner-friendly programming languages since they’re (arguably) accessible everywhere.

My personal recommendation for a generalist or hobbyist looking to get into programming—without necessarily aiming for a career change—would be Python. It has a wealth of great documentation, established standards, an extensive library ecosystem, and tons of tutorials to get you started.

🚀 stack · 22 hours ago:

Except that Python is a terrible language (as a language geek), the worst user experience I've encountered as a coder, and the most unstable environment where one day nothing works because some library you've never heard of changed. If they paid me to use it I'd quit.

Did I say this before? Yikes, going in circles here. Sorry.

🐻 erick · 14 hours ago:

@stack yeah, I think I saw your opinion when reading the comments. Too sad you have had that experience with Python, I on the other hand have had an amazing experience with it.

👻 darkghost · 6 hours ago:

My python experience is mixed. I've used it successfully for data processing of major datasets without much need for coding. But on the other hand, I wanted an application that was coded in python but it needed a newer minor version. So I set about installing it and when I rebooted my Linux distro: boom, no GUI. So I reverted, painstakingly finding all the damn symlinks and getting its hooks out. The solution was to upgrade to the newest release of the distro.

In summary, it took a distro upgrade to run a single application coded in a version of Python 2 minor revisions ahead. I get the criticism. I'm sure I could have avoided it but coding is neither my main job description nor a big hobby.

Original Post

🌒 s/programming

Language to learn — Friends, which language a hobbyst like me would try seriously to learn? Like buy books and materials... I honestly learned a lot of languages since I was a kid: Pascal first as a kid, then Assembly and C when I entered technical school at 14, then Pascal again and VBA at university, then Python... But honestly, though I have some understanding of the principles, I don't consider myself proficient in any. I had to change jobs and profession a lot of times because of money...

💬 Houjimmy · 28 comments · Dec 04 · 13 days ago