Favorite programming language(s)?

I have been playing with Crystal recently and enjoying it. It is inspired by Ruby in terms of syntax, standard library, and testing tools. It is statically typed with type inference; and provides exhaustive type handling, case statements, and error handling. It uses UTF-8 strings, but still includes a null-terminator for compatibility with C. I suspect it will be my go-to language for simple CLI utilities.
Crystal has the ups of Ruby without most of its downs, it looks great. I never used it, but I also believe that their compiler is batteries-included and ready to cross-compile to most supported OSes and CPU arches. I'd say Crystal should take Go's market share but we know that isn't happening lol.

I'd give it a shot but I'm a bit tired of exploring other languages, now I just want to focus on fully specializing in my #1 language and writing programs.
 
There's a reason some larger C/C++ projects just mmap(2) some large chunk of address space and implement their own allocator on top of that, tailored to the behavior and needs of the application.
Yep, that was our solution. Don't use the C heap, no more heap frag, and other useful stuff.
 
M68010 asm ($JOB '84)
68k assembler... yum :) I did an embedded project using an exormacs dev system once, vme card stuff. So much nicer to work with than the intel junk which was segmented at the time, all that near and far crap. Sadly 68k seems to be disparu nowadays, along with motorola semi themselves. I think some people are still putting 68k's on gate arrays, like this amiga clone: https://www.minimig.net/ . I had a sinclair QL at one point too, which was a 68008. Bloody microdrives...
 
Of course a true master would use FunnelWeb to generate their squirrel for them. http://ross.net/funnelweb/

Wishing I'd found that a dozen years ago.

Please don't ask me how I know about FunnelWeb...

Aw, go on ... I'd never heard of it, and I'm from where They Matter.

1710874364263.jpg
 
Yikes, I wouldn't want to step on one of those by accident!

Funnelweb is a pretty cool tool actually if you spend the time to learn it. There are a bunch of similar 'literate programming' tools, the idea originally came from Donald Knuth (https://en.wikipedia.org/wiki/Literate_programming). Of course funnelweb was and is particularly obscure, as the author says "FunnelWeb has a tiny, but dedicated, user base. You’ll either love it or hate it. Most programmers hate it, but the ones who love it really love it."

I think its pretty much dead now, he says he doesn't maintain it any more and hasn't for years. I encountered it within a big project, someone had used it to write some particularly complicated hierarchical nested state machine code; lots of state machines, lots of levels. It generated both C source code and documentation for the software, all from the same set of funnelweb source files. The source code it generated in this particular project was probably about 20k lines of C code.

Debugging it could be a PITA though. You had to debug the runtime, find where the bug was in the C, then work backwards from the C to find where in the funnelweb source the offending macro was that had generated the C that you found the bug in; and then fix the funnelweb. The whole thing had multiple threads running through it (of course), lots of spinlocks and stuff. it was my misfortune to get lumbered with debugging it occaisonally, after the guy who wrote the stuff had left. We used to have a round robin of "there's a funnel web bug", bah, whose turn is it this time?

And I seem to remember it had an obscure bug where if you had a single space on the end of a line in a .fw file it would fcuk up the code generation without telling you, although I may be being unfair (I usually am), my memory might be faulty.

Interesting to see that he provides a freebsd version of funnelweb, although he doesn't say what version of freebsd it runs on, it's not clear whether it's still maintained. The time period I encountered it was late 90's - early 00's.

If I wanted to explore literate programming today, I would check out one of the more mainstream currently maintained offerings rather than funnelweb, I don't think the author is maintaining it any more, from the information he gives on his web page.
 
68k assembler... yum :) I did an embedded project using an exormacs dev system once, vme card stuff. So much nicer to work with than the intel junk which was segmented at the time, all that near and far crap. Sadly 68k seems to be disparu nowadays, along with motorola themselves. I think some people are still putting 68k's on gate arrays, liks this amiga clone: https://www.minimig.net/ . I had a sinclair QL at one point too, which was a 68008. Bloody microdrives...
I still would like a 68060 or such build in modern processes. What would the clock rate be? Like, on GaAs? 68k assembler was one of the first things I learned, and I still like to read it. When messing with a compiler, I check if it can generate 68k code and use that to get familiar with the language. You can read that, not like x86.
 
It seems that the 68k family morphed into ColdFire https://microapl.com/Porting/ColdFire/cf_68k_diffs.html . There is also the FreeScale DragonBall family https://en.wikipedia.org/wiki/Freescale_DragonBall that was based on 68k. I think I remember the PALM handhelds used dragonball cpus. AFAIK the 68k line pretty much diverged and ended with the death of motorola semi. Well, there is still a company called motorola, but I think it's basically a company that makes android phones now. Zilog Z8000 suffered a similar fate I believe. But Zilog themselves got bought out by someone else and you can still buy Z80 family processors and the peripheral chips. Out of curiosity I had a look at what was available in Z80 cpu's recently and found that zilog will now sell you a 20 MHz Z80 cpu.

Sadly the all-conquering X86 (and IBM PC architecture) is to blame, it has swept everything else before it, including even intel's own attempts at successors (i860, itanic), apart from ARM, and there's still a bit of POWER left (mainframe, and some very expensive IBM AIX servers).

I thought the projects to implement older cpu's like 68k on FPGAs are pretty cool though; doing that means you have an immediately available software base, operating systems, compilers, applications, games. :)
 
For me it was assembly on a Commodore 64.
MOS 6510 , 1Mhz.
LDA : Load Accumulator.
Ditto, but Oric 1, 1 MHz 6502, 6522, GI AY-3-8912, custom ULA, 48K. I couldn't afford a Beeb, they were too expensive! The oric was a lovely little box, much better made than the crappy sinclair spectrum. https://www.computinghistory.org.uk/det/526/Oric-1-48k/ . Tangerine was a good company.

oric+atmos+placa+base+2-610353176.jpg


And I had a Dragon 32 (6809), Oric Atmos, ZX81 (Z80), QL (68008), Tosh MSX (Z80), Jupiter Ace (Z80). The ZX81 was the first computer I actually owned. The jupiter ace had what must be the ultimate worst most unusable 'dead flesh' keyboard of all time, it actually made the spectrum keyboard look good, it was that bad. It's redeeming feature was a brilliantly written FORTH ROM by Steven Vickers.

The one I would have liked to have got but didn't because by then I was working on PC's was the Amiga, particulary the Amiga 1000 after I saw the Virtuality VR demo in their shop in Birmingham, which ran on amiga 1000s; they were a couple of decades ahead of their time.
 
68k assembler... yum :) I did an embedded project using an exormacs dev system once, vme card stuff. So much nicer to work with than the intel junk which was segmented at the time, all that near and far crap.
I designed a whole medical computer using the 68K on the VME bus. The engineering director had put together what was essentially an IBM PC clone to do the same work but mine was modular in that you could upgrade the processor, memory, IO, attached devices, etc. by just pulling one small half-size card out. It wound up being (now) Bausch & Lomb's top selling product and the architecture is still in use today (in a modern form).

I loved the 68K. I was enamored by National Semiconductor's NS32000, too, but that went nowhere.
 
I designed a whole medical computer using the 68K on the VME bus. The engineering director had put together what was essentially an IBM PC clone to do the same work but mine was modular in that you could upgrade the processor, memory, IO, attached devices, etc. by just pulling one small half-size card out. It wound up being (now) Bausch & Lomb's top selling product and the architecture is still in use today (in a modern form).

I loved the 68K. I was enamored by National Semiconductor's NS32000, too, but that went nowhere.
Very interesting, it sounds like an impressive piece of work :) Presumably it had pluggable specialised medical instrumentation cards as well. I wonder if you used OS/9? I remember that used to be quite popular (in the UK, anyway) on 68k vmebus systems. If they're still selling it now, it would be interesting to know what 68k-descendent CPU they have used in the current product, presumably it still uses some variant of the 68k core.

The motorola cpu designs, especially 68k, were some of the best available at that time, I studied microprocessor engineering as part of my degree, and all the teaching was motorola-based. They started with 6800 family chips and then progressed to 68k, and they used vmebus a lot. It was a very good engineering platform. It's a long time since I have looked at 68k systems though, which is a shame as I liked working on it. Of course the PC boom started soon after that, and my area of work headed that way.

I remember briefly reading about NS32000, I didn't look at it in any detail though.

It just crossed my mind, in a modern version of your medical computer system, they probably put a 68k IP onto something like an altera fpga to implement the cpu, they might not even use a standalone cpu chip at this point.
 
I simply miss in every discussion someone stands up for C/C++
I stopped doing that. I get the idea that most of the people engaging in these types of conversations are the ones who don't really do any professional/serious programming work themselves. Nothing wrong with that - but it seems to have become a social sport to complain about something you know very little about - and that little they "know" is often based on some YouTube video or a random blog post.

And when it comes to C++ specifically, most of the time people are completely oblivious to modern C++. Why would I want to spend my time presenting objective arguments if the person on the other end only has some C++98 experience from college? It's pointless. I rather spend my time enjoying writing stuff in modern C++ (if it's the right tool for the job).

I observe a rapidly growing culture of unnecessary proliferation especially on internet platforms. Are people just bored or did they forget how to just enjoy life rather than debating something that they often both know little about and has almost no impact on them?
Back in my day we used to go play outside, watch a movie or spend countless hours playing video games having good times with everybody instead of fueling discussions with little real-life benefit.
Polarization seems to be a real issue these days. Just because I am not for something does not mean I am against something else. It's okay to have opinions, and it's okay to communicate those, but the forced polarization and group dynamics that are becoming very evident are scary.
 
And when it comes to C++ specifically, most of the time people are completely oblivious to modern C++. Why would I want to spend my time presenting objective arguments if the person on the other end only has some C++98 experience from college? It's pointless.
Careful, this could easily imply anybody criticizing C++ design flaws could only ever do that for not really knowing the language. In fact, some things can't be fixed by adding new features. But they can of course be hidden, when code using these new features can sidestep them.

I certainly agree such debates don't serve a real purpose.
 
Careful, this could easily imply anybody criticizing C++ design flaws could only ever do that for not really knowing the language.
Agreed - that was not the intention of my (poor) wording.
There are certainly design flaws - as with most (all?) languages and pretty much any technology.
 
Back
Top