LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Non-*NIX Forums > Programming
User Name
Password
Programming This forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.

Notices


Reply
  Search this Thread
Old 11-18-2011, 09:04 PM   #1
Pa Blum
LQ Newbie
 
Registered: Sep 2009
Posts: 5

Rep: Reputation: Disabled
Available Computer Languages for Linux (Ubuntu)


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.
Old 11-18-2011, 09:48 PM   #2
Juako
Member
 
Registered: Mar 2010
Posts: 202

Rep: Reputation: 84
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?
 
1 members found this post helpful.
Old 11-19-2011, 12:55 AM   #3
Pa Blum
LQ Newbie
 
Registered: Sep 2009
Posts: 5

Original Poster
Rep: Reputation: Disabled
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....

Blum
 
Old 11-19-2011, 07:58 AM   #4
Juako
Member
 
Registered: Mar 2010
Posts: 202

Rep: Reputation: 84
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.
 
1 members found this post helpful.
Old 11-19-2011, 08:18 AM   #5
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
See gforth:
http://bernd-paysan.de/gforth.html
 
1 members found this post helpful.
Old 11-19-2011, 09:23 AM   #6
johnsfine
LQ Guru
 
Registered: Dec 2007
Distribution: Centos
Posts: 5,286

Rep: Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197Reputation: 1197
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 View Post
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.
 
4 members found this post helpful.
Old 11-19-2011, 10:34 AM   #7
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
Quote:
Originally Posted by johnsfine View Post
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.
 
2 members found this post helpful.
Old 11-19-2011, 10:36 AM   #8
Skaperen
Senior Member
 
Registered: May 2009
Location: center of singularity
Distribution: Xubuntu, Ubuntu, Slackware, Amazon Linux, OpenBSD, LFS (on Sparc_32 and i386)
Posts: 2,684
Blog Entries: 31

Rep: Reputation: 176Reputation: 176
If you don't want "stylish" then just use C (which has a little bit of style) or assembly (which has very little style).

Languages I still use: Assembly (for some platforms), C, Bash, Awk, Lua, Pike, Python

Languages I have forgotten: Assembly (for some other platforms), BASIC, COBOL, Fortran, PL/1

Languages I stay away from: Assembly (for x86), LISP, Perl, Scheme

Languages I just can't get interested in: Assembly (for 8 bit machines), C++, Haskell, Java
 
1 members found this post helpful.
Old 11-19-2011, 08:10 PM   #9
fingers99
Member
 
Registered: Nov 2011
Location: Liverpool UK
Distribution: Debian, Knoppix, Kanotix
Posts: 63

Rep: Reputation: Disabled
You'll hate this, but if you want flashcards, take a look at Squeak.
 
1 members found this post helpful.
Old 11-20-2011, 10:29 AM   #10
Tinkster
Moderator
 
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
Blog Entries: 11

Rep: Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928Reputation: 928
Moved: This thread is more suitable in <PROGRAMMING> and has been moved accordingly to help your thread/question get the exposure it deserves.
 
1 members found this post helpful.
Old 11-20-2011, 01:55 PM   #11
theNbomr
LQ 5k Club
 
Registered: Aug 2005
Distribution: OpenSuse, Fedora, Redhat, Debian
Posts: 5,399
Blog Entries: 2

Rep: Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908Reputation: 908
Quote:
Originally Posted by H_TeXMeX_H View Post
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.

--- rod.

Last edited by theNbomr; 11-20-2011 at 01:56 PM.
 
1 members found this post helpful.
Old 11-20-2011, 05:52 PM   #12
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by Pa Blum View Post
...
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.
...
Look at OCaml: http://caml.inria.fr/ and Haskell: http://haskell.org/haskellwiki/Haskell . Don't step into C++ unless you really need it - if you've been satisfied with FORTH, you probably need nether "C" nor C++.
 
2 members found this post helpful.
Old 11-20-2011, 06:07 PM   #13
Sergei Steshenko
Senior Member
 
Registered: May 2005
Posts: 4,481

Rep: Reputation: 454Reputation: 454Reputation: 454Reputation: 454Reputation: 454
Quote:
Originally Posted by Sergei Steshenko View Post
Look at OCaml: http://caml.inria.fr/ and Haskell: http://haskell.org/haskellwiki/Haskell . Don't step into C++ unless you really need it - if you've been satisfied with FORTH, you probably need nether "C" nor C++.
OCaml for the Masses - Why the next language you learn should be functional: http://queue.acm.org/detail.cfm?id=2038036 .
 
1 members found this post helpful.
Old 11-20-2011, 06:35 PM   #14
Juako
Member
 
Registered: Mar 2010
Posts: 202

Rep: Reputation: 84
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.
 
1 members found this post helpful.
Old 11-21-2011, 07:25 AM   #15
resetreset
Senior Member
 
Registered: Mar 2008
Location: Cyberspace
Distribution: Dynebolic, Ubuntu 10.10
Posts: 1,340

Rep: Reputation: 62
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!
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Ubuntu 10.04 Start 0.48 Released; Now Supports Multiple Languages Thanks To You LXer Syndicated Linux News 0 04-29-2010 07:40 PM
save setting and languages flag in ubuntu?? matarodi Ubuntu 3 08-06-2007 03:40 AM
languages of linux: which languages can be choosen in suse and red-hat distributions? Klaus Schnorr Linux - Software 3 09-10-2005 02:19 AM
dpkg on ubuntu / changing languages bibilit Ubuntu 6 06-27-2005 02:22 PM
computer languages? limits? help! borgnet Programming 12 10-21-2004 08:16 PM

LinuxQuestions.org > Forums > Non-*NIX Forums > Programming

All times are GMT -5. The time now is 02:33 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration