[SOLVED] Available Computer Languages for Linux (Ubuntu)
ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've read up on Python and find it a rather silly mess. "Beautiful Heart" indeed. Like a beautiful, brainless blonde.... (I spent a freaking fortune on a Python book and its author isn't any better organized than the language. Maybe I'm getting old.)
Anyhoo, I need something useful, not stylish. So, what other mainstream languages are available (and competent) on Linux: Forth? FORTRAN (arf, arf?) How about a nice interpreted quickie like (non-Visual) BASIC?
If this site has a list of languages that are ready to be downloaded I haven't found it yet, but that would be great!
Thanks.
Click here to see the post LQ members have rated as the most helpful post in this thread.
Too bad you spent on a book, there's a wealth of material on python (and all langs btw) all over the net. To the point: what do you want to do? That pretty much would define what langs would be best. Python IS useful for a lot of things, so if it isn't for you, it would be good to know why. "Stylish", I don't know what you mean.
Forth isn't really what I'd call "productive". Nevertheless from what I've read an amazing language to program for pure pleasure and for stretching your mind. Fortan...it's very used, but mainly in scientific or "big" applications.
But this is all talking in the air. If you *really* are looking for a language to learn because of its usefulness, it would be necessary to know how it would be useful to your goals. What are they?
Thanks for your considerate reply, Juako. Yeah, I learned my book-buying lesson alright. But I like ink-on-paper for 'text' reading. The ol' LCD is fine for looking up answers online to reference-type questions, but I want to relax while reading running accounts.
"Stylish" for me is tuples and immutable data contents. (It's gotta be wasteful to change a variable by reassigning it rather than simply changing its value.) "Stylish" is undeclared variables with undeclared types (yikes!) I guess to me "stylish" is just another word for inefficient and bulky programs in the name of being laid-back and unstructured, and slavishly seeking the sacred OOP label.
I programmed professionally in Forth for many years and loved it. I feel that a lot of 'engine room' programming should be done with Forth rather than that unwieldy 'C' thing.
You're right; I didn't say what I wanted to do in Ubuntu. It's mostly just general-purpose stuff, some light record-keeping and collections inventorying. Maybe peeking into Ubuntu workings and displaying some data and settings. The first project will be a sort of flashcards quizzer to help me memorize trombone and other brass instruments' fingerings, and to improve musical-notation recognition speeds. In other words, just tinkering -- with pretty GUI's not needed.
Soooo, since my recent post I have awakened to the presence of Perl already on my system, and obviously my next step is to take a look at that (without buying any expensive books.) The online resources look pretty good, so I'll dive in.
Thanks again for your post -- if there's more stuff that I haven't awakened to, I'll be glad to hear from you again....
I see you already know your well your ways around enough, yes there's little I could do to further enlighten you. I'll dare to recommend Lua though: its young, doesn't have the huge lib/tools support of Perl/Python (though that gets better with time, and the basics are there for general stuff), small enough to learn it in a day and start hacking away, and libs are easily extensible (FFI is to C) and semantics too.
Anyway, in synaptic you have an awful lot of other options too, including Forth.
I'm trying to guess what you might like/dislike in a language and your posts really leave that unanswered.
I personally think C++ is the most useful language, with Java a distant second.
Quote:
Originally Posted by Pa Blum
undeclared variables with undeclared types (yikes!)
That's what bothered memost about Python. My introduction to almost every language I ever learned (including Python, C, C++ and Java) was correcting bugs in pre existing, large, very badly written projects.
The Python idea of semi object oriented with absolutely no encapsulation gives bad programmers incentive to write worse garbage than they would in almost any other language. I was constantly looking at functions that took and used input objects of some undeclared type. There was no place I could look for a definition of the type of the input objects, so there was no way to understand the intent of any of the actions taken on those input objects.
The freedom of Python lets an experienced Python programmer slap together a small program faster than would be possible in those other languages. But the results are generally unmaintainable.
Quote:
I guess to me "stylish" is just another word for inefficient and bulky programs
If you care a lot about efficiency, learn to program C++ well. In the hands of a non expert, C is the clear winner for efficient language. But if you know how to use it, C++ can beat C on efficiency for big complicated projects and match C efficiency for ordinary projects (while retaining C++ advantages in structure and maintainability).
Quote:
in the name of being laid-back and unstructured, and slavishly seeking the sacred OOP label.
That idea is self contradictory enough that I think you're missing some important point. OOP includes encapsulation. Java and C++ have fairly strong rules promoting encapsulation. When programming in Java or C++, I frequently get upset with those rules because I would encapsulate when appropriate even without such rules and there are situations where a project could be better structured if bigger exceptions to the rules were permitted. Those rules inherently assume the programmer will be stupid enough to be better off limited. But when I have read any large Python program, I always see that the programmer really was that stupid and the limits of Java and C++ would have prevented that programmer's worst errors.
The many people I have worked with that take a religious view of OOP consider the OOP encapsulation etc. rules of C++ far too weak and apply coding standards on top of that to even further assume programmers are stupid and force all programmers to create the same level of mediocre code, which is a step up for ordinary programmers but a big step down for good programmers.
So I just see contradiction when you say "sacred OOP" combined with your description of the opposite.
Quote:
unwieldy 'C' thing.
I have no clue what you mean. I always think if C as the least unwieldy programming language. Programming in C is the most pure kind of programming. C has a minimum of syntactic and semantic features. There aren't thousands of rules and tools and exceptions to rules to learn. There are minimal rules and fairly minimal tools. The essence of programming is combining simple building blocks (such as the features supported by C) into powerful structures. C is very well suited to building complex systems from simple parts. I think Forth was invented with the intent to go further than C in that direction, but I think it misses the target.
So I think what you dislike about Python matches what I dislike about Python. But beyond that I can't guess what you really want in a programming language.
I have no clue what you mean. I always think if C as the least unwieldy programming language. Programming in C is the most pure kind of programming. C has a minimum of syntactic and semantic features. There aren't thousands of rules and tools and exceptions to rules to learn. There are minimal rules and fairly minimal tools. The essence of programming is combining simple building blocks (such as the features supported by C) into powerful structures. C is very well suited to building complex systems from simple parts. I think Forth was invented with the intent to go further than C in that direction, but I think it misses the target.
So I think what you dislike about Python matches what I dislike about Python. But beyond that I can't guess what you really want in a programming language.
I agree, C is definitely wieldy, powerful, and useful. Maybe not that easy to learn tho.
I also agree that although I went with Python for a while, I can see that it does have many weaknesses. One major one for me is backwards compatibility.
I agree, C is definitely wieldy, powerful, and useful. Maybe not that easy to learn tho.
I also agree that although I went with Python for a while, I can see that it does have many weaknesses. One major one for me is backwards compatibility.
Agree on all points, and well put (as usual) by johnsfine. For someone comfortable with a low-level language such as Forth, learning C might very well be quite easy. I never learned Forth, but those who are advocates of it always seem to be doing level-level, emebedded sytems-ish work, and I assume those people are clear on how computers work at some low level. C tends to model that behavior well, and if you have that right background it is not at all difficult to learn, IMHO.
...
I programmed professionally in Forth for many years and loved it. I feel that a lot of 'engine room' programming should be done with Forth rather than that unwieldy 'C' thing.
...
Agreed with Haskell! Learning it and so far it's been great, didn't recommend it after interpreting OP's prefs as leaning towards simpler/smaller languages.
Why don't you try Javascript? I personally HATE object oriented programming, so it took me a while to get used to it, but I need to make money, and everything's moving to the cloud, so I got myself 2 books, and forced it down.
It's not that bad, you can make cool webpages once you know it, and I always think that that is really cool!
You don't have to DECLARE your variables before you use them, like C, which for a lazy guy like me, is great!
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.