Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
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.
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.
|
|
|
03-05-2005, 12:30 PM
|
#1
|
LQ Newbie
Registered: Feb 2005
Location: England
Distribution: Suse Linux 9.2
Posts: 13
Rep:
|
Best programming language to use
OK i have been a windows user for a long time and recently i moved to linux (Suse 9.2).
I have been using Visual basic for work and home project and also vb.net, what i want to know if whats the best programming language to learn, i want something that can do GUI's and also work with sockets preferably something thats platform independent. I really don't want to learn C (C++) is there anything out there thats close to VB for linux and cross platform ??
|
|
|
03-05-2005, 12:34 PM
|
#2
|
Moderator
Registered: Mar 2003
Location: Scotland
Distribution: Slackware, RedHat, Debian
Posts: 12,047
Rep:
|
I'd probably suggest something like perl and gtk if you want it to be cross platform
|
|
|
03-05-2005, 03:28 PM
|
#3
|
LQ Newbie
Registered: Mar 2004
Posts: 23
Rep:
|
Why don't you want to use C/C++? They're both awesome languages, and once you know them, there aren't too many others that you won't learn fairly easily, and most programs (at least that I use) are programmed in C/C++.
|
|
|
03-05-2005, 03:35 PM
|
#4
|
Moderator
Registered: Apr 2002
Location: earth
Distribution: slackware by choice, others too :} ... android.
Posts: 23,067
|
Tcl/Tk - has as poor typing as Basic, and is cross-platform ;)
Cheers,
Tink
|
|
|
03-05-2005, 03:48 PM
|
#5
|
LQ Newbie
Registered: Feb 2005
Location: England
Distribution: Suse Linux 9.2
Posts: 13
Original Poster
Rep:
|
well after 3 hours of installing this and that trying to get GTK working i give up lol
last error i got was
checking for glib-2.0 >= 2.6.0 atk >= 1.0.1 pango >= 1.8.0... Package glib-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `glib-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'glib-2.0' found
configure: error: Library requirements (glib-2.0 >= 2.6.0 atk >= 1.0.1 pango >= 1.8.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
linuxboy@linux:~/Desktop/gtk+-2.6.4>
But glib is installed , i think i will go down the c++ route
|
|
|
03-05-2005, 04:05 PM
|
#6
|
Member
Registered: Sep 2003
Posts: 42
Rep:
|
I'd go Java if I was you. Very powerful and versatile, but some people don't like it. Its very platform independent, and is made for the internet. Socket programming is pretty easy with it, but you might have a little bit of a hard time learning it if you've never done C or C++. Take a book out of the library and take a crack at it.
|
|
|
03-05-2005, 04:26 PM
|
#7
|
LQ Guru
Registered: Jan 2002
Posts: 6,042
Rep:
|
A programming langauge that is similar to Visual Basic or VB.net is Python. Like Java, Python can run on many operating systems, but Python can handle devices or data at low-level unlike Java. For the GUI part of Python, use wxPython. Next for IDE, use Boa.
Tcl/Tk is sloppy and it is slow when processing huge amounts of data.
Java uses a virtual machine that eats up memory and processor usage. Though if you handle the program well, it will be less power hungry.
|
|
|
03-05-2005, 04:53 PM
|
#8
|
Member
Registered: Sep 2003
Posts: 42
Rep:
|
Sorry to get sidetracked, but I don't know much about Python....
Java uses the VM to run on different platforms with the same code, how does Python pull it off? I'll have to check into Python some time, i'm trying to get a handle on Perl this week =|
|
|
|
03-06-2005, 12:11 AM
|
#9
|
LQ Newbie
Registered: Mar 2005
Location: Nampa, Idaho
Distribution: Fedora, Gentoox,...
Posts: 7
Rep:
|
I would say to learn c, but is not for the light hearted
|
|
|
03-06-2005, 12:16 AM
|
#10
|
LQ Guru
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,337
Rep:
|
Another vote for python here. It's also interpreted as Java, so it runs inside a virtual machine of some sort. It's comparable to Java and Perl for that matter (not the syntax, mind you).
Take a look into www.python.org for more info. It's pretty sweet and fast. Works well with most API's around too, as GTK or even OpenGL
Last edited by Mega Man X; 03-06-2005 at 12:20 AM.
|
|
|
03-06-2005, 01:25 AM
|
#11
|
LQ Veteran
Registered: Aug 2003
Location: Australia
Distribution: Lots ...
Posts: 21,269
|
Quote:
Originally posted by Megaman X
Another vote for python here.
|
And another. I had to pick up C when I came across to Linux.
Got to the point I wanted to quickly proto-type what the results would look like.
Python was the choice.
Didn't know about Boa - might have to look at that one.
|
|
|
03-06-2005, 02:37 AM
|
#12
|
Member
Registered: Dec 2004
Distribution: Knoppix 3.6
Posts: 135
Rep:
|
I took the Java route: Applets are perfect for my stuff.
I also use Flash, so Java was a simple step.
-- and the GTK gave me headaches. I had been working in Pascal but GTK proved more annoying.
|
|
|
03-06-2005, 04:52 AM
|
#13
|
LQ Newbie
Registered: Feb 2005
Location: England
Distribution: Suse Linux 9.2
Posts: 13
Original Poster
Rep:
|
Thanks
Thanks for all your help, i started linux a few weeks ago and found linuxquestions.org, theres not much this comunity cant give advise on..
I think i will use the c++ route as linux seems to have a compiler built in by running the "cc" command, Thanks again
|
|
|
03-06-2005, 05:13 AM
|
#14
|
Senior Member
Registered: Dec 2004
Distribution: Slackware, ROCK
Posts: 1,973
Rep:
|
cc is usually a symbolic link back to gcc - the c compiler. the c++ compiler is g++ ( g++ is technically only a shell script, but it must be run to set up gcc to compile c++ code).
so basically, to compile c code use gcc ( or cc), to compile c++ use g++
|
|
|
03-06-2005, 05:28 AM
|
#15
|
LQ Guru
Registered: Apr 2003
Location: ~
Distribution: Ubuntu, FreeBSD, Solaris, DSL
Posts: 5,337
Rep:
|
Python usually works out of the box with most Linux distributions too. Type "python" at the command line to invoke the Interpreter. Just compare those two codes:
Code:
#include <iostream>
using namespace std;
int main()
{
cout << "Hello there!";
return 0;
}
That's C++. Now look at python:
Code:
print "Hello there!"
Python is still OO and you still have access to lower levels as Pointers (unlike Java and most interpreted languages). The syntax is much cleaner and unless you are writing a driver or something lower, there's no need to go as low as C or assembler... (personal opinion).
Just think about it, the only relevant line in the above C++ code is cout << "Hello there";. All the rest, regardless the book you are reading will threat the other lines as #include and what the braces does either in
1 - A new chapter, skipping it or
2 - Going into detail of those things and making a big mess in a newcomers head...
I'd say, go python first, you can't go wrong with it. Learn C or C++, or even Java afterward if you found it necessary
|
|
|
All times are GMT -5. The time now is 08:12 AM.
|
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
|
|