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 |
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.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
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.
 |
GNU/Linux Basic Guide
This 255-page guide will provide you with the keys to understand the philosophy of free software, teach you how to use and handle it, and give you the tools required to move easily in the world of GNU/Linux. Many users and administrators will be taking their first steps with this GNU/Linux Basic guide and it will show you how to approach and solve the problems you encounter.
Click Here to receive this Complete Guide absolutely free. |
|
 |
|
04-28-2012, 07:34 PM
|
#1
|
|
Member
Registered: Sep 2011
Location: Las Vegas!
Distribution: Ubuntu n' Flavors, ReactOS, MINIX3, FreeDOS, Arch
Posts: 339
Rep: 
|
What Is The Next Language To Move Into?
I have done almost all of my work in C++, only recently have I tried a high leval language (Lua) and even more recently a high leval, large language (Ruby).
I didn't like Ruby much, probobly because of the poor raw file io (as in raw file io is hard to do not that it only has plain file io).
I need a new language. Many people have pointed me to Java or C# but I know better, Java is an ugly language, and C# has not been fully reimplemnted in open source.
I almost got into the D language but was, again, told it wasnt worth the time. Same with Fortran (which I am good at), Rexx, Miranda, Intercal (only good call in this list), Rebol, and Ada.
I have come up with a list of requirements for the language:
Is a compiled language or can be compiled into bytecode (Lua, Python)
Is ether unusual or not in the C family.
(Optional But Prefered) Support By A Common (Gtk+, Qt, FLTK, Tk) GUI Toolkit
Has masive amounts of File I/O Stuff.
Has windows support, (Non-Cygwin)
Does not force you to program in one way (Java + Object Orented)
Now lets get started!
Any Thoughts?
|
|
|
|
04-28-2012, 09:53 PM
|
#2
|
|
Member
Registered: May 2005
Distribution: Debian
Posts: 77
Rep:
|
I'm going to come out with a crazy idea:
Javascript + HTML5 + CSS
Why? Computing is increasingly becoming mobile and whereas platforms may have their own suggested platform on which to develop apps (iOS --> objective C, Android --> Java, Windows 8 metro --> C#, etc. --> etc.) they all also make it possible to develop using these tools. That is to say that whereas it may not be quite possible to write once and run on all, the skills developed using these tools on one platform (I assume) will be largely transferable to the other.
It fulfills many of your requirements, including: - Is a compiled language or can be compiled into bytecode (Lua, Python) (I'm not sure about this, but I do believe most javascript engines
- Is ether unusual or not in the C family. (I'm pretty sure it's quite different to C). (I would also add there is probably a whole bunch of crazy technology surrounding the web, eg. WebGL)
- (Optional But Prefered) Support By A Common (Gtk+, Qt, FLTK, Tk) GUI Toolkit (I believe "the browser/HTML engine" counts as the common toolkit.
- Has masive amounts of File I/O Stuff. (I have no idea about this, but I would assume the answer is largely no)
- Has windows support, (Non-Cygwin) (Probably the widest supported platform there is)
- Does not force you to program in one way (Java + Object Orented) (it is my understanding that JavaScript is reasonably flexible in this regard)
IMO, real applications are being built using JavaScript. Not to mention that it seems to be the most popular language on GitHub.
|
|
|
|
04-29-2012, 08:13 AM
|
#3
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by Zssfssz
I have done almost all of my work in C++, only recently have I tried a high leval language (Lua) and even more recently a high leval, large language (Ruby).
I didn't like Ruby much, probobly because of the poor raw file io (as in raw file io is hard to do not that it only has plain file io).
I need a new language. Many people have pointed me to Java or C# but I know better, Java is an ugly language, and C# has not been fully reimplemnted in open source.
I almost got into the D language but was, again, told it wasnt worth the time. Same with Fortran (which I am good at), Rexx, Miranda, Intercal (only good call in this list), Rebol, and Ada.
I have come up with a list of requirements for the language:
Is a compiled language or can be compiled into bytecode (Lua, Python)
Is ether unusual or not in the C family.
(Optional But Prefered) Support By A Common (Gtk+, Qt, FLTK, Tk) GUI Toolkit
Has masive amounts of File I/O Stuff.
Has windows support, (Non-Cygwin)
Does not force you to program in one way (Java + Object Orented)
Now lets get started!
Any Thoughts?
|
Try LISP. Exactly because it is an old language which influenced a lot of new languages. For example, read http://c2.com/cgi/wiki?HomoiconicLanguages , http://en.wikipedia.org/wiki/Homoiconicity .
|
|
|
|
04-29-2012, 08:18 AM
|
#4
|
|
Senior Member
Registered: Mar 2012
Location: Hungary
Distribution: debian i686 (solaris)
Posts: 2,878
|
what about perl?
|
|
|
|
04-29-2012, 08:21 AM
|
#5
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by pan64
what about perl?
|
Perl is still my language of choice, but, looking back, I'm saying that from the point of view of orderly self-education better to start from LISP - from which Perl stole (in a good sense) a lot.
|
|
|
|
04-29-2012, 11:16 AM
|
#6
|
|
Senior Member
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 3,692
|
My personal recommendation is Python, which fits all of Zssfssz's requirements. It also has good support for calling C libraries, if you don't like its "batteries included".
Quote:
Originally Posted by Sergei Steshenko
|
Good recommendation. Very good recommendation. However, I would suggest starting instead with Scheme and learning from the SICP.
Last edited by dugan; 04-29-2012 at 11:21 AM.
|
|
|
|
04-29-2012, 12:32 PM
|
#7
|
|
Member
Registered: Sep 2011
Location: Las Vegas!
Distribution: Ubuntu n' Flavors, ReactOS, MINIX3, FreeDOS, Arch
Posts: 339
Original Poster
Rep: 
|
I tried python and like it, and it has good library support. I'll try it, any other suggestions? How about a compiled language?
I want to add another requirement: built In networking.
|
|
|
|
04-29-2012, 01:48 PM
|
#8
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by Zssfssz
... built In networking.
|
I don't think there is such a language. Networking is a part of the language (standard) library.
Under Linux eventually glibc functions will be called to implement networking - regardless of language.
|
|
|
|
04-29-2012, 04:22 PM
|
#9
|
|
Member
Registered: Sep 2011
Location: Las Vegas!
Distribution: Ubuntu n' Flavors, ReactOS, MINIX3, FreeDOS, Arch
Posts: 339
Original Poster
Rep: 
|
Well by built in networking I mean sockets are avalable via the standard library, lua is an example of a language without built in networking, an external lib needs to be installed first.
C++/C has this in the form of winsock.h and unistd.h(?).
|
|
|
|
04-29-2012, 04:25 PM
|
#10
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by Zssfssz
.. an external lib needs to be installed first. ...
|
So what ?
|
|
|
|
04-30-2012, 10:33 AM
|
#11
|
|
Senior Member
Registered: Oct 2004
Location: Luxemburg
Distribution: Slackware, OS X
Posts: 1,507
Rep:
|
+1 for Scheme. A real eye-opener. I recommend Racket to start with.
|
|
|
|
04-30-2012, 09:29 PM
|
#12
|
|
Senior Member
Registered: Feb 2004
Location: SE Tennessee, USA
Distribution: Gentoo, LFS
Posts: 4,578
|
I have to admit it ... I'm a programming language junkie.  One of the most interesting and useful things that I know to do is to find some new programming language that I've never encountered, and, well, to "encounter" it. On any Unix/Linux system, there are an endless supply of language tools at your beck and call.
For example, I once was faced with a multi-stage Geocaching puzzle which contained, first, the devil's own logic-puzzle having twenty one different conditions. ("The prince with the white coat did not have okra for breakfast.") This was followed by an absurd Sudoku puzzle. But a language that I happened to have "encountered," called Prolog, allowed me to solve both problems ... and I think that I enjoyed figuring out how to make Prolog do it, as I did finding the cache. More recently, I've been exploring a powerful statistical language called, simply, "R."
Programming languages are cleverly-designed tools for solving a particular class of problems in a particular way. They are tools designed to make something that is difficult become easier. And there is no way to "characterize" them. If you make a pursuit of "studying languages," you not only learn about the languages, but you learn from the process of examination.
|
|
|
|
05-01-2012, 03:46 AM
|
#13
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by sundialsvcs
I have to admit it ... I'm a programming language junkie.  One of the most interesting and useful things that I know to do is to find some new programming language that I've never encountered, and, well, to "encounter" it. On any Unix/Linux system, there are an endless supply of language tools at your beck and call.
For example, I once was faced with a multi-stage Geocaching puzzle which contained, first, the devil's own logic-puzzle having twenty one different conditions. ("The prince with the white coat did not have okra for breakfast.") This was followed by an absurd Sudoku puzzle. But a language that I happened to have "encountered," called Prolog, allowed me to solve both problems ... and I think that I enjoyed figuring out how to make Prolog do it, as I did finding the cache. More recently, I've been exploring a powerful statistical language called, simply, "R."
Programming languages are cleverly-designed tools for solving a particular class of problems in a particular way. They are tools designed to make something that is difficult become easier. And there is no way to "characterize" them. If you make a pursuit of "studying languages," you not only learn about the languages, but you learn from the process of examination.
|
Prolog is quite an interesting language. I once attended classes on it.
But I think that more recent languages like Haskell and OCaml with their libraries allow to do what Prolog does.
|
|
|
|
05-09-2012, 07:13 AM
|
#14
|
|
Member
Registered: Aug 2006
Location: Saint Paul, MN, USA
Distribution: {Free,Open}BSD, CentOS, Debian, Fedora, Solaris, SuSE
Posts: 714
Rep:
|
Last edited by makyo; 05-09-2012 at 07:16 AM.
|
|
|
|
05-09-2012, 02:24 PM
|
#15
|
|
Senior Member
Registered: May 2005
Posts: 4,418
|
Quote:
Originally Posted by makyo
|
From the Wiki article I am not impressed with Icon - is it any better than Perl ? If yes, in what ?
And TCL, though widely used, is not a pleasant language - I had close encounters with it.
|
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 11:35 PM.
|
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|