LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Starting programming in Linux (Ununtu / Gnome) (https://www.linuxquestions.org/questions/linux-newbie-8/starting-programming-in-linux-ununtu-gnome-420553/)

benjeeqds 03-01-2006 04:31 AM

Starting programming in Linux (Ununtu / Gnome)
 
I am Windows user who likes to program in Visual Basic.

From this you can ascertain one of two things:

1) I’m stupid; or
2) I’m lazy.

Well, I don’t like to think of myself as stupid (who does) so I must be lazy!

I’ve just switched to Linux (Ubuntu with GNOME) and like it a lot. I’ve been using a whole host of programs that other people have written, but would now like to give something back.

Obviously you can write Linux applications in C/ASM, but theoretically I could also reinvent the nuclear weapon – It’s not going to happen!

I know I’m going to have to learn a new language, as my VB6 skills are seriously outdated.

What language would you Linux Guru’s recommend for a programmer who:

1) Likes to develop simple programs with pretty interfaces (GUI’s)
2) Likes to develop programs that use databases to store information
3) Likes to develop programs that don’t require an Computer Science degree to use
4) Likes to develop applications that don’t hook into the Kernel or run at 5 billion lines of code per nanosecond, but instead programs that users can enjoy using.

I anxiously await your responses!

qwerty 03-01-2006 04:37 AM

Seeing as you have Visual Basic experience Gambas http://gambas.sourceforge.net/ may be worth considering, its website describes it as...
"Gambas is a free development environment based on a Basic interpreter with object extensions, like Visual Basic™ (but it is NOT a clone !)"

It has features such as..
" With Gambas, you can quickly design your program GUI, access MySQL or PostgreSQL databases, pilot KDE applications with DCOP, translate your program into many languages, create network applications easily, and so on..."

I've never used this but it may be what you're looking for

Hosiah 03-01-2006 05:05 AM

Heh, what a novelty. Somebody asking which programming language they should use. Don't think I've heard that one before.

I, too, came to Linux from Microsoft after all I'd programmed in was BASIC and C++ dialects, and Microsoft had begun to feel too cramping. Hang onto your hat: I now know, last I counted, 15 programming languages! You should do that too...if you're serious about programming, that is. It's just that knowing more languages comes in so much handier; you can always pick the right tool for the job.

But, OK, to simplify the question: what do we recommend for the ex-Basic user looking to expand? Either Bash shell scripting, Tcl/Tk, or Python. Each of these I would rank as having the nearest BASIC-like syntax. For simple languages that are fun to play with, you might try Lisp once. Using ELisp in an Emacs window where you can type and evaluate code right in the same window will remind you of your QBasic days - particularly if you set background to blue and foreground to cyan! By the way, if you're seriously into programming, you're probably going to have to do like everybody tells you and pick up C. It really is never going away, and many languages share common syntax elements with it.

It's not that people are critical of Basic per se. It's just that Basic programmers tend to only know Basic and be afraid of anything else. Believe it or not, there are languages out there that are much easier to work with than Basic!

Others will post to this thread later, both disagreeing with my language choices and recommending others that I forgot. They will all be as right as I am.

cs-cam 03-01-2006 05:34 AM

PYTHON!!!!!!!!!111oneone

Quote:

1) Likes to develop simple programs with pretty interfaces (GUI’s)
PyGTK or my new preference, wxPython
Quote:

2) Likes to develop programs that use databases to store information
I'm not listing the crapload of Python modules that allow you too plugin to a database engine but they're there and in abundance.
Quote:

3) Likes to develop programs that don’t require an Computer Science degree to use
Python is easy and with the sheer number of modules for it you can do damn near anything.
Quote:

4) Likes to develop applications that don’t hook into the Kernel or run at 5 billion lines of code per nanosecond, but instead programs that users can enjoy using.
'Nuff said and covered above.

benjeeqds 03-01-2006 06:17 AM

Thanks guys for your feedback.

I downloaded Gambas and while it looks nice, I can see me limiting myself to Basic again, so I think I'll try to avoid it, tempting as it may be.

I think the best option is for me to learn the dreaded C... maybe once I learn it I'll look back and it wont be so hard. Oh yeah, and pigs will fly!

Thanks again guys the feedback was really useful.

For your Googlers out there:
Just so you know, You probably shouldn't write business applications in Gambas just yet, it's pretty unstable.

Hosiah 03-01-2006 09:42 AM

Now, taking the plunge into C, you're in luck. Linux is open-source, so grab the source code to programs you have and study them - what better example could you ask?

The other thing is books - the thicker, the better, because you want lots of code examples and explanations in detail. I highly recommend:

"Linux Programming by Example" by Arnold Robbins (a master, but very advanced)

"C/C++ Programmer's Reference" by Herbert Schildt (quick reference index )

"Beginning Linux Programming" by Neil Matthew and Richard Stones ( a beautiful work: easy to follow, covers Bash scripting as well, also deals with libraries such as ncurses, GTK, and Qt, and takes you from "Hello World" to device drivers.

and I bet if you sweep the forum, you'll encounter at least a dozen more book recommendations. The beautiful thing about the C language is that it's so widely used, you can easily find forums and sites about it. You can go to an IRC chat at two:am and find twelve codeheads yammering about #pragma's and #define's. Once you have C grasped, you can then proceed more easily to Python (written in C), Java/Javascript (based on C), and many other languages when you first pick them up will feel familiar after that.

Oh, and don't let anybody tell you you have "brain damage" from coding Basic - there is no such thing as bad learning. Every language has a place in the universe. After your fifth language, you'll be picking them up like they were video games.

chrism01 03-02-2006 01:01 AM

Well, C is an important lang no doubt, but it's tedious to learn and use compared to slightly easier langs like the P's ie Perl / Python / PHP.
All of those will do what you want, and easier than C.
(Although I liked C when I used it constantly(!).


All times are GMT -5. The time now is 07:14 AM.