jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 25, 2020 6:00:21 GMT -5
I like Pascal. It's very understandable and very precise. But having Basic it has little advantages. it also has objects.
I would compare: Using basic is like talking to a friend that is a computer. Using Pascal is the same but your friend is neurotic obsessive.
|
|
|
Post by Carl Gundel on Apr 25, 2020 8:20:49 GMT -5
I like Pascal. It's very understandable and very precise. But having Basic it has little advantages. it also has objects. I would compare: Using basic is like talking to a friend that is a computer. Using Pascal is the same but your friend is neurotic obsessive. Pascal - you work for the compiler BASIC - the compiler works for you
|
|
jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 25, 2020 9:02:59 GMT -5
I like Pascal. It's very understandable and very precise. But having Basic it has little advantages. it also has objects. I would compare: Using basic is like talking to a friend that is a computer. Using Pascal is the same but your friend is neurotic obsessive. Pascal - you work for the compiler BASIC - the compiler works for you That's very good too!
|
|
|
Post by sarossell on Apr 25, 2020 11:48:20 GMT -5
I like Pascal. It's very understandable and very precise. But having Basic it has little advantages. it also has objects. I would compare: Using basic is like talking to a friend that is a computer. Using Pascal is the same but your friend is neurotic obsessive. Pascal - you work for the compiler BASIC - the compiler works for you Yeah, that's all I need to hear. Yuck. It was suggested that an IDE called Lazarus and FreePascal would be a good combination for cross-platform compatibility. But when I looked at it, it lacked the two most important things; 1) It WASN'T friggin' BASIC!, and 2) It didn't look fun at all! I don't understand why people can't grasp the importance of those two simple requirements. For Mac, I'll wait for LB 5, thank you very much.
|
|
jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 25, 2020 12:24:12 GMT -5
Pascal - you work for the compiler BASIC - the compiler works for you Yeah, that's all I need to hear. Yuck. It was suggested that an IDE called Lazarus and FreePascal would be a good combination for cross-platform compatibility. But when I looked at it, it lacked the two most important things; 1) It WASN'T friggin' BASIC!, and 2) It didn't look fun at all! I don't understand why people can't grasp the importance of those two simple requirements. For Mac, I'll wait for LB 5, thank you very much. They are not bad, but simply they are not basic. They are more friendly than using other languages and IDEs, and don't have such an arcane syntax as others. But in Pascal you have to declare everything and looks like a lot like doing a contract. Basic is less exigent, and faster to code.
Pascal is a language that is good and has been quite ignored in favour to Java and C. But it's good and follows most of the stupidities currently demanded.
It's simply that Basic is easier. Many things are understood like a person would, and not as a perturbed lawyer would.
|
|
|
Post by svajoklis on Apr 25, 2020 16:39:01 GMT -5
It's weird how you guys assert the same fact over and over again with nothing added. "Proof that it's better: it just is, it's BASIC! QED". "Dictionaries, what's that? You look up things by name and get a thing back? Arrays are WAY easier, what with their numerical indexes".
"More friendly", "easier to use", "just way better in general", "arcane syntax". I leave a semicolon at the end of PRINT and it doesn't go to new line, I omit it and it does, that's just a common every-day knowledge. Pascal with it's PrintLn and Print plain overcomplicates things. In fact as far as I remember Pascal requires declaring variables before the code to first declare what data you are working on, and only then work on that data, so as not to have declarations all over the place. The limitation, was to make the code easier to read and understand. With BASIC sometimes it really feels like Write-Once-Read-Never when I start to freerun all over the place with my code.
I am not here to bash Liberty BASIC, or any BASIC for that matter, but at the same time I don't get at all the passionate hate for everything that uses braces to group statements, while the best "examples" I can find of BASIC are littered with GOTOs, which are universally frowned upon because they have the incredible ability to break any and all structure you might have in your code. I literally saw examples of a GOTO jumping from one subroutine to another subroutine and returning from there. How in the hell would you know something jumps there when you change code? At least when you fix up a procedure or a function in Pascal you can be sure nothing starts executing it from the middle.
|
|
|
Post by sarossell on Apr 25, 2020 17:15:39 GMT -5
|
|
|
Post by Carl Gundel on Apr 25, 2020 17:22:26 GMT -5
It's weird how you guys assert the same fact over and over again with nothing added. "Proof that it's better: it just is, it's BASIC! QED". "Dictionaries, what's that? You look up things by name and get a thing back? Arrays are WAY easier, what with their numerical indexes". "More friendly", "easier to use", "just way better in general", "arcane syntax". I leave a semicolon at the end of PRINT and it doesn't go to new line, I omit it and it does, that's just a common every-day knowledge. Pascal with it's PrintLn and Print plain overcomplicates things. In fact as far as I remember Pascal requires declaring variables before the code to first declare what data you are working on, and only then work on that data, so as not to have declarations all over the place. The limitation, was to make the code easier to read and understand. With BASIC sometimes it really feels like Write-Once-Read-Never when I start to freerun all over the place with my code. I am not here to bash Liberty BASIC, or any BASIC for that matter, but at the same time I don't get at all the passionate hate for everything that uses braces to group statements, while the best "examples" I can find of BASIC are littered with GOTOs, which are universally frowned upon because they have the incredible ability to break any and all structure you might have in your code. I literally saw examples of a GOTO jumping from one subroutine to another subroutine and returning from there. How in the hell would you know something jumps there when you change code? At least when you fix up a procedure or a function in Pascal you can be sure nothing starts executing it from the middle. BASIC is better? "Better for what?" is the question. I wouldn't say that BASIC is better than other languages, at least not in general. Pascal is fine, C is fine, I'm sure Python is fine. My only bad feelings for Python would come from the fact that it is my most direct competition, but I don't really hate Python as a language. I think Smalltalk is amazing, and less so Java. But... I do love BASIC! I don't even need to have a rational explanation for that, although I do think that BASIC has it's strengths, and I've heard from so many people who love it and who think it's easier to use than other languages they've tried, for what it's worth. BASIC is a good language for many purposes, and many people like it for various reasons. No point being a hater, but there's no need to justify why BASIC is the best using some sort of pure Vulcan logic.
|
|
|
Post by sarossell on Apr 25, 2020 17:29:26 GMT -5
1) I've never "freerun all over the place" with *MY* code. Sounds like some of these other languages are designed for folks who need a bit of guidance. That did NOT come out right. I don't mean to sound derogatory. And please notice I didn't say "but"... That just means whatever I said before I said "but" is B.S. I meant, perhaps some people need (or even prefer) that kind of strict environment to keep them from freerunning. I'm not one of them. I code in a very organized manner. Of course, I take drugs for my OCD. So.....
2) I hate braces because they're unnecessary; inefficient. The only time you need braces you might forget to close is when you're doing compound logic maybe (e.g.; (a < 10 AND b >12) And if the "best examples of BASIC you can find are littered with GOTOs", then I suggest perhaps looking in better places. I very rarely use GOTO, and then only if I'm essentially done and heading for the exit. Oops, I forgot to close the e.g. parenthesis...).
-=-=-=-
I think we all like to basically pet the cat that is BASIC. We wouldn't be here if we didn't have a strong affinity for the language. So maybe we can be forgiven the cult-like passion at times - particularly for Liberty BASIC.
:@)
|
|
|
Post by Carl Gundel on Apr 25, 2020 19:10:35 GMT -5
1) I've never "freerun all over the place" with *MY* code. Sounds like some of these other languages are designed for folks who need a bit of guidance. That did NOT come out right. I don't mean to sound derogatory. And please notice I didn't say "but"... That just means whatever I said before I said "but" is B.S. I meant, perhaps some people need (or even prefer) that kind of strict environment to keep them from freerunning. I'm not one of them. I code in a very organized manner. Of course, I take drugs for my OCD. So..... Yeah, you can write absolutely dreadful and obfuscated code in any language at all, BASIC included. I've seen it all. A few years ago another engineer went on vacation and someone else needed to work on his code written in a popular curly brace language. I noticed this fellow conferring with another programmer in the cube next to me. Later my manager asked me to have a look at what they were trying to work on because they couldn't understand his code. After about an hour of reviewing his work I had to tell my manager that the code was an intractable mess and that I would need to rewrite it. He gave me the go ahead. I feel bad for my coworker. I would hate to come back from vacation to be told that my code was so bad that it needed to be shredded. I'm guessing he means { } braces. if (some expression) { do something; } Yeah, this is a self selecting population.
|
|
|
Post by sarossell on Apr 25, 2020 21:17:55 GMT -5
I'm guessing he means { } braces. if (some expression) { do something; }
Braces...parenthesis...
print("Hello");
Seriously?! Do you REALLY need the parenthesis?! NO!
And braces?
For n = 1 to 10 print n next n
Look, Ma! No friggin' braces!
|
|
jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 26, 2020 0:23:06 GMT -5
It's weird how you guys assert the same fact over and over again with nothing added. "Proof that it's better: it just is, it's BASIC! QED". ". In case you didn't notice, this is a Basic forum. In C forums people love C. In Java forums people love Java. In basic forums people love Basic. The sky is blue and milk is white. Things tend to fall by gravity. Also the people here gave an opportunity to the language. It feels to me that all that you tried is a basic from 1982 and not a modern one. If you don't like how other people code, try to code something yourself. You can do it right or bad in any language.
|
|
jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 26, 2020 0:33:18 GMT -5
I mean. Here we use Liberty Basic. It's not an old basic. It has structure. You can do functions, calls to subs, use labels (which you can also call with gosub and goto but you don't have to).
Goto is just branching without return. Sometimes it's useful. Gosub equals calling a sub. What is the problem?
Most of the time you can use subs and functions.
Just don't be excessive and use each one when you feel is better.
|
|
|
Post by svajoklis on Apr 27, 2020 13:14:11 GMT -5
> It feels to me that all that you tried is a basic from 1982 and not a modern one.
All this time I was talking about BASIC I was talking about modern BASICS, and since this is a forum for Liberty BASIC, I naturally was focusing on it. I tried out QB64 and absolutely loved the screen mode emulation capabilities, they also seem to be focusing on compatibility with old QBASIC programs. I am trying out different ideas on Liberty BASIC, and I'm not sure what you want to accomplish by throwing the "code something yourself if you don't like it" ball, most of the points I made are valid even if you are writing a 200 line file renamer / calculator / visualizer, let alone a 2000 line extensible data management tool with SQLite. Maybe I got it all wrong, I'd love to see the application you are the most proud of that you accomplished to learn something from it.
> Look, Ma! No friggin' braces!
That's astonishing. You "forget" to close braces, but you do not forget the "next i"? Most modern editors even autoclose the braces as soon as you open one, so after opening one you are effectively typing inside a valid closed block. QB64 complains when you don't close the for block for example, so you are reminded even before pressing "Go". Hell, Python has no braces, and if you want to make your code readable you indent the insides of a for block, Python doesn't even have a closing statement for that. But that's somehow "archaic".
I read up some more on Dijkstra and BASIC, and from what I gathered he was criticising an actual archaic version of BASIC with single letter variable names and little to no flow control statements. Even I'd be criticizing it with my little knowledge, especially in contrast to what is currently out there. He was VERY abrasive with his statements and got enough flak for that, but at the same time the man accomplished a lot more for this field, than probably most of us combined. Well that, sans the actual creators of Liberty BASIC: it takes some dedication to continue and work on a project for so long, and it will always hold a dear place in my heart. I guess Dijkstra and these guys/gals DID go ahead and write something themselves.
|
|
jordi
Full Member
A simple solution is the smarter one.
Posts: 106
|
Post by jordi on Apr 28, 2020 8:13:42 GMT -5
I'm not sure what you want to accomplish by throwing the "code something yourself if you don't like it" I meant that no one forces someone to do a dirty coding or using lots of goto. You said all basic listings you read were horrible. You can do it or not. That is the coding style of each person, not the language.
If you felt offended, I did not meant that. I was just telling literally another thing: "you can code in your style without doing the errors that you have seen in other basic listings". They are not part of how a computer language is, it's just the style of those listings.
I have lots of programs made in many different languages. I also sold some of them alongside my 3d modeling job and I live from that since lots of years. My code can look clumsy or fantastic, depending on the time I have dedicated to learn and use each language. But it always works good in everything I did, because I don't abandon it until I have it finished, as most of them are commercial products. I suppose some day if I publish something here in Liberty Basic you will laugh a lot, and say my code is horrible too. And I hope that helps me to improve if you suggest improvements. I like learning, and lack of any kind of pride to admit when I am wrong. But you have to tell valid reasons.
I have to confess that maybe you need to explain your points a bit more. I don't understand most of what you say. It's too abstract and vague, and English is not my primary language. I don't get a clear idea of what you have against the basic language.
If you could explain why you don't like basic, I would be very grateful. I bet you have something interesting to say, it's just that you don't express it clearly.
The original thread was about why basic is not used as much today as in the past, or why people are not encouraged to program in basic as in old times. People are discouraged from programming.
Why do you think it happens?
|
|