What makes a language attractive to developers?

It’s actually meaningless for validating either point. Most of humanity used to think the world was flat, that bleeding with leeches was a valid medical treatment, that there were 4 (or 3) elements, and that being a heavy smoker had no significant downside. All of them were wrong.

At the same time, in a capitalist system, what works for large numbers of people says something about it hitting some sort of sweet spot maybe – in general, but not for particular cases, including that of someone who is enthusiastic about … whatever 8th is. More power to him. I just (1) don’t get it and (2) don’t need to because I have no major pain points with what I’m using (mostly C#) and (3) my client would not want me to start recoding everything in 8th, in fact they would probably conclude I was insane and let me go, lol.

1 Like

I am just a hobbyist programmer, so I am free to choose my tools. I do know that there are really powerful stuff available with C# like LINQ. It just don’t feel natural to me as a programming language being so heavily OOP based. To me adt from Limbo programming language would be enough and I liked Component Pascal too. Procedural code with modules or namespaces works best for me.

I use programming languages like PL/I and Fortran too but I enjoy working with 8th the most.

I like how 8th uses json data types and I can easily import JSON string or buffer by simply using “json>” word. Converting native data type back to JSON string can be done with “>json” word.

Also big number support is builtin. Say, I needed to solve 10000 digits of Pi. I could just use Machin formula directly. All I need to do is to prefix numbers with “F” to tell that I want to use big floats and set the precision I want:

: pi \ n -- n
  dup ## n:1+ n#
  F1 F5 n:/ n:atan F4 n:* 1 F239 n:/ n:atan n:- F4 n:* ;

Using big floats is also easy way to do currency calculations. Another big plus with 8th is that I don’t need to use debugger with my code flow to trace coding errors.

Okay, I know that our Nuklear based GUI may not be for every ones taste.

Forth, and 8th, are just so darned cryptic
Reminds me of APL - which truly make me shudder with … fear ? angst ? horror ?

Not languages I care to return to

BUT that IS just MY opinion
You’re entitled to like, or loath, whatever you want

No one is more right than anyone else

1 Like

What do you use instead? I cut my teeth on Steve McConnel’s Code Complete – “step through all new code with the debugger”, so for me that’s an important question. It’s also one of the lesser reasons I bailed on Xojo – the debugger sucks compared to what I’m used to. No watch window, you have to put anything you want to examine the runtime status of into temporary variables in the code, etc.

Heh try debugging Xojo for Android
I have yet to figure out how to make a breakpoint work at all
So back to 1980’s style printf style and read my debug log output :slight_smile:

I usually factor my code into small words and as 8th is a stack based language I can just examine stack content. I also write SED (Stack Effect Diagram) as comment on every line of code, so it’s easy to compare that those two match.

Yeah, that’s what we did then, in the good ol’ times. Is Xojo an Oldtimer?

early middle aged now I guess since its 25+ years old

Kind of reminds me of functional programming in the sense that you must really be dedicated to / believe in the paradigm because it’s a completely different way of thinking about software.

The most unusual I ever worked with, only as part of evaluating what tool the corporation would use, was prograph (now named Marten as the original author passed away some time ago)

its a data flow language

you cant look at a stack or most other kinds of call graphs to know whats going to happen next or how you got where you are now

radically different

It is no religious war but a discussion about two different things. The old world of procedural programming is gone, it passed away and there are thousands of good reasons why. Forcing to do top is a good idea while it males the code more readable and more functional. But many people think it’s not. So what. They can do their procedural programming and nobody is forced to use oop technologies. That is not even a discussion. it is not worth to fight about an old world and that what all modern languages are doing to provide programming in a modern manor. So why should there be a flame war. When somebody decides to do it in that old fashion language style: okay. When he get’s HIS Jobs done everything is wonderful.

1 Like

That was not the question. When somebody says it can’t produce UI’s when it is not even true not even a bit true…sorry.

8th is like 4th (I think) in that it a RPN language as opposed to Infix Notation which is what most others are

I also have similar feeling. :grinning:

Yes, I prefer multi-paradigm languages that let me decide for myself.
You might like this: Object-Oriented Programming is Bad. It’s a polemic but there’s undoubtedly some truth in it.

There’s nothing in C# that prohibits you from making everything a static method. Technically you’d have static classes for those methods and if that bothers you, you could use the new top-level code paradigm where you just open a .cs file and start writing stuff; in theory all the class underpinnings would be hidden from you.

Of course if you want to fully leverage the Common Language Runtime, you’ll have to work with its OO design, but … how much of a purist does one want to be here?

As to the “OO considered harmful” essays out there … like any paradigm it can be misused; it’s common to overuse inheritance and underuse composition, for example. But nothing says you have to use bad practices.

Maybe this is why people like functional languages like F#, there’s so much bondage and discipline there that it’s virtually impossible to write impure functions. Reported first-time developer experiences around functional programming are littered with warnings to be patient; the compiler will seemingly never be satisfied with your code’s “correctness”, so accustomed are you to doing non-functional things.

But in my view, there’s no such thing as a perfect abstraction and if you’re using a system where the rules can never be broken, even judiciously and for considered reasons, I’d argue that you’re working in a straight jacket.

1 Like