LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
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


Reply
  Search this Thread
Old 02-24-2009, 07:05 PM   #1
linus72
LQ Guru
 
Registered: Jan 2009
Location: Gordonsville-AKA Mayberry-Virginia
Distribution: PocketWriter/MinimalX
Posts: 5,087

Rep: Reputation: 337Reputation: 337Reputation: 337Reputation: 337
Beginner at programming needs suggestions...


Hello, Linux kinda-newbie with a desire to learn BASIC or C, probably BASIC first. Please see my post here for backround on me and what I'm looking for...

http://www.linuxquestions.org/questi...amming-706816/

So, if you've read that post you understand I am a tinkerer and like to make/modify all kinds of things. Anyway, after reading some posts and webpages, I think I should start with BASIC and go from there-right?
Being new to computers, and Linux, I want this to be kinda simplistic-cause simplicity=perfection.
My questions are---
1)- Where can I find the necessary things I need-like Basic itself-I found RealBASIC-is this what I want?

2)- EXACTLY what tools do I need to get started? I am right now running Slackware 12.2 on SDA1, Xubuntu 8.04 on SDA2, and SuperUbuntu 8.10 on SDA3
so I know any one of those Distro's probably have the resources for all the stuff I need-right?

3)-As far as I know I need a text editor-Geany, Notepad ++-or what?
Also I need an IDE-which one?

4)-Is there an all-in-one package that includes everything I need to get started in BASIC?

5)-Which small, low-ram distro would have access via a package manager to all the stuff I need (note-must be installable too!)-maybe DSL, Puppy, Wolvix, GoblinX, Feather, Mini-Slack? This is because I plan on doing alot of work on both my desktop pc-HP a810n Athlon64 3300+ 1GB ram, 160GB HD-and my Toshiba 7000CT laptop which has a pentium 2, 160MB RAM, and a puny 4GB HD!-So the distro must have a small installed footprint-under a GB if possible. (the laptop is running Wolvix Cub right now).

6)-Really I just need the fundamental tools to get started( and I really don't know what I need!!), so any help is Great!
I wanted to install Backpack Programmer's LIVECD,
http://linux.softpedia.com/get/Syste...ack-8040.shtml

but I don't know if that's what I need and is it installable?
Thanks for all your help!
B
 
Old 02-24-2009, 07:13 PM   #2
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,811
Blog Entries: 1

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
I am not a programmer so I might be far from the truth, but I thought that BASIC is no longer a serious option even for beginners. I remember writing small programs in basic back in the early 90s. You might want to start your journey with python, a relatively easy (compared to C), yet powerful programming language.
 
Old 02-24-2009, 07:24 PM   #3
rtrahan
Member
 
Registered: Jan 2009
Location: Georgia
Distribution: OpenSuse Fedora
Posts: 64

Rep: Reputation: 17
Use Perl

Use Perl, the interpretor is embedded into any Linux distribution and the program is portable to any Linux distribution.
 
Old 02-24-2009, 07:34 PM   #4
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,811
Blog Entries: 1

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
Ok, before it will transform in the usual python vs perl vs java vs whatever debate, let me point you to some threads here on LQ that have already gone through it.

http://www.linuxquestions.org/questi...mming+beginner

http://www.linuxquestions.org/questi...mming+beginner

http://www.linuxquestions.org/questi...mming+beginner

http://www.linuxquestions.org/questi...mming+beginner

Read through them and you'll get the idea
 
Old 02-24-2009, 08:15 PM   #5
gergely89
Member
 
Registered: Feb 2009
Posts: 100

Rep: Reputation: 21
Some of the better BASIC tools on Linux are bas, blassic, mole, scriba and smallbasic. There are many more such tools, but most other tool are either hopelessly outdated, unsupported or obviously buggy.

Basic is easier to learn if you have no IT experience at all, but the whole syntax is designed with ancient computer technology in mind. If you really only want do some minimal console functionality, then you might just as well start learning some scripting with BASH, Perl, PHP, Python, Ruby, etc.

To create reasonable programs with Basic you need to deal with loops and function modules and all the stuff that works better in C or C++, and maybe even better in the already mentioned scripting languages.

If you consider yourself an IT-archeologist, then it's OK to spend time with Basic and in the end write an essay about your experiences - but for practical purposes it will be less efficient then the contemporary alternatives. If you like old programming concepts, you might also want to consider Fortran, Pascal, Ada, Modula, Oberon, SmallTalk, Lisp, Cobol. In many ways these are more advanced then Basic. But don't forget: real man do program in Assembler :-)

linux

Last edited by gergely89; 02-27-2009 at 11:59 PM.
 
Old 02-24-2009, 08:25 PM   #6
rsciw
Member
 
Registered: Jan 2009
Location: Essex (UK)
Distribution: Home: Debian/Ubuntu, Work: Ubuntu
Posts: 206

Rep: Reputation: 44
why not just skip basic and directly jump into C?

and with linux, maybe also some perl/python and bash scripting?
 
Old 02-24-2009, 08:37 PM   #7
peteyperson
Member
 
Registered: Jan 2009
Distribution: openSUSE 11.1, with KDE 4
Posts: 71

Rep: Reputation: 16
Hi there,

Finally as a Linux newbie I get to reply with a post to help someone else :-)

I used Basic in the 80s, and other languages (one that allowed me code platform games), etc.

These days there are different languages to do different things. Often several that combine to provide a range of facilities.

I would start with the question whether you wish to develop web site applications, something where you have a web site content, structure & design (XHTML/CSS) and dynamic sites that use databases, changing the page depending on which user is logged in (Amazon.com changing the product page depending on which user you are & what you've rated highly in the past), that might use PHP/Perl and MySQL as a database, if using the Linux platform.

If you're more interested in developing a desktop application, then you need to consider whether it should be cross-platform or solely for Linux or Windows, etc. This will help to decide which language options to choose from. Everyone has their favourites!

Petey
 
Old 02-24-2009, 10:02 PM   #8
choogendyk
Senior Member
 
Registered: Aug 2007
Location: Massachusetts, USA
Distribution: Solaris 9 & 10, Mac OS X, Ubuntu Server
Posts: 1,191

Rep: Reputation: 105Reputation: 105
OK, first of all, the OP indicated they were a beginner at programming and a linux kinda-newbie. So, I don't think we should be pushing them into C, C++, etc.

Just for frame of reference, I've been programming since 1968, and Dartmouth Basic was a real programming language before Bill Gates got his hands on it. I've programmed in most of the older languages and many of the newer ones. Interestingly, I haven't really jumped into python, although I did sit through a one afternoon class and groked it pretty well. It has a lot of Basic like aspects to it, but is more adapted to the current environment. I ended up deciding to stick with perl for my sysadmin and scripting stuff, and I know enough C to troubleshoot code when I'm building open source applications.

I would recommend getting into some of the shell scripting and linux/unix tools, thus becoming more comfortable and productive in the linux environment. Then, for programming, jump into python for starters. It is easy to jump into and get simple stuff working, and it can manage GUI's, graphics, web and database programming. There are quite a few open source projects that have chosen to use python for GUI and Web components.

Then, after becoming comfortable with these things, it would be time to decide whether to go on into perl, C, or C++. Those are going to be the collection of most generally useful and portable skills, but the choices are highly individual and depend on the interests and skills of the individual.
 
Old 02-25-2009, 05:59 AM   #9
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,052

Rep: Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881
Quote:
Originally Posted by linus72 View Post
I'd rather not; its long and mostly off-topic. Sorry to be blunht, but if you can't be bothered cutting and pasting the relevant parts, without the mandatory rant on Bill Gates and all his works, I can't be bothered reading it.

Quote:
...I think I should start with BASIC and go from there-right?
Being new to computers, and Linux, I want this to be kinda simplistic-cause simplicity=perfection.
Beginers All-Purpose Symbolic Instruction Code is not generally regarded as a 'serious' programming language (although, that might be a bit unreasonable in certain particular cases) and is by no means modern, but you will learn some stuff from it. If you are sure that you have made the right decision...
(It is unclear what "simplistic-cause simplicity=perfection" can have to do with Basic. Seriously.)
Quote:
My questions are---
1)- Where can I find the necessary things I need-like Basic itself-I found RealBASIC-is this what I want?
...from your package manager...exact details distro dependant...
[QUOTE]
2)- EXACTLY what tools do I need to get started? I am right now running Slackware 12.2 on SDA1, Xubuntu 8.04 on SDA2, and SuperUbuntu 8.10 on SDA3
so I know any one of those Distro's probably have the resources for all the stuff I need-right?
[QUOTE]
Yes
Quote:
3)-As far as I know I need a text editor-Geany, Notepad ++-or what?
Also I need an IDE-which one?
You don't need an IDE. You need a text editor and the basic interpreter. Different people like different text editors. Kate is good, but you probably won't like it. You might like to learn an IDE, its not a bad idea.
Quote:
4)-Is there an all-in-one package that includes everything I need to get started in BASIC?
You need two things; both are available for 95+% of distributions. Use the package manager, Luke.

Quote:
5)-Which small, low-ram distro would have access via a package manager to all the stuff I need (note-must be installable too!)-maybe DSL, Puppy, Wolvix, GoblinX, Feather, Mini-Slack? This is because I plan on doing alot of work on both my desktop pc-HP a810n Athlon64 3300+ 1GB ram, 160GB HD-and my Toshiba 7000CT laptop which has a pentium 2, 160MB RAM, and a puny 4GB HD!-So the distro must have a small installed footprint-under a GB if possible. (the laptop is running Wolvix Cub right now).
You've already got three - maybe four - which can probably work. Why not just use the ones that you have, or is there something wrong with them?
 
Old 02-25-2009, 07:40 AM   #10
linus72
LQ Guru
 
Registered: Jan 2009
Location: Gordonsville-AKA Mayberry-Virginia
Distribution: PocketWriter/MinimalX
Posts: 5,087

Original Poster
Rep: Reputation: 337Reputation: 337Reputation: 337Reputation: 337
OK-Thanks everyone for their help and opinions! Well, I think I'm gonna go with Python-and here's why....'
1) From what everyone says it's kinda easy to learn.
2) I have found 2 Knoppix-based Distro's, Robohobby-2007 and Pyrobot 5.0 that deal with robotics-which I have always been interested in. It seems they are using Python for robotics applications, so that's cool.
3)Python, as far as I know is current-right?

I am also interested in C, C++, Perl and Ruby, but I want to start with something I can grasp pretty quickly-hopefully Python.
My goals are to learn a programming language to create GUI's, robotic's programs, and eventually maybe desktop apps as well. I already have a grasp of HTML/XML-but don't really understand "scripting" so-to-speak, maybe Ill figure it out.
I am comfortable on the command-line, and because my whole computer is a test-bed, I am not worried about destroying it- as I always run as root and have had problems with Debian trying to do root things, and still get the permission denied stuff-which is why I love Slackware 12.2, although I am not a KDE fan.
Many people tell me to go with Slackware for learning Linux, but it's a slow process, which is why I have Ubuntu-it's more like XP(which I am used to), and when I tell it I'm root-it listens!
My computer is old and ragged out-so if anyone wants to bash me for running as root 24/7, so be it, but even on XP I was always digging into the "meat" underneath, and no real problems.
One last question-what are the exact differences between C, C++, Perl, Ruby, Python and Bash? I know C++ is Object-oriented-visual stuff-but let's say I wanted to make a standalone linux distro like Linux-from-Scratch-what would I choose-C, C++, or what?
Thanks again everyone for the HELP!
 
Old 02-25-2009, 08:25 AM   #11
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,811
Blog Entries: 1

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
Quote:
3)Python, as far as I know is current-right?
In December 2008 a new version of Python was released (3.0). This version is not backward compatible with Python 2.x. Apparently 3.0 is even easier to learn for beginners. Obviously they are still the same languages but python's developers got rid of some unnecessary features. Although Python 2.x is here to stay for some time, I'd personally recommend 3.0, especially as you're just starting with python. I'm not an expert on python, though. See what others say
 
Old 02-25-2009, 02:41 PM   #12
salasi
Senior Member
 
Registered: Jul 2007
Location: Directly above centre of the earth, UK
Distribution: SuSE, plus some hopping
Posts: 4,052

Rep: Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881Reputation: 881
Quote:
Originally Posted by linus72 View Post
OK-Thanks everyone for their help and opinions! Well, I think I'm gonna go with Python-and here's why....'
IMHO, Python is a better place to start than Basic. Its more modern and it will be less of a jump to move to, say, c++, if that's what you decide to do. I'm not saying that its the same, but you'll be more aware of the concepts in the languages that you are moving to.

Quote:
One last question-what are the exact differences between C, C++, Perl, Ruby, Python and Bash? I know C++ is Object-oriented-visual stuff-but let's say I wanted to make a standalone linux distro like Linux-from-Scratch-what would I choose-C, C++, or what?
Thanks again everyone for the HELP!
Bash is a shell, and certainly has programability but isn't really comparable with a programming language. Sometimes you could use either, but they aren't very similar.

C++ is c with object oriented stuff grafted on, and the end result isn't a language of such clean design as some of the more modern stuff; I'm not sure what you mean by 'visual stuff'; many languages have the possibility of being used to run some kind of graphics extension or library which give them graphics potential, but it isn't part of the language, per se.

When you say
Quote:
make a standalone linux distro
it is unclear what you mean. If you mean scripting the install and configuration process, then a scripting language would be fine (python, perl, ruby or even bash...although if you do chose perl, please don't ever show me the code, and you may not even want to look back at it more than six months after you have written it). If however you mean something more deeply involved in the system, you might find that one of the scripting languages doesn't really cut it and you need something else.
 
Old 02-25-2009, 06:38 PM   #13
sycamorex
LQ Veteran
 
Registered: Nov 2005
Location: London
Distribution: Slackware64-current
Posts: 5,811
Blog Entries: 1

Rep: Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191Reputation: 1191
I hope we've helped you as much as you seem to be generous with your thanks
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
Best beginner book for C programming? rmy1 Programming 21 01-18-2010 08:14 PM
Linux Programming Beginner maheshkuruganti Linux - General 1 01-17-2009 05:19 AM
C++ Programming Beginner in Linux soldier228 Programming 3 07-30-2007 08:43 AM
help in beginner x lib programming ... alred Programming 3 04-27-2006 12:02 AM
programming beginner darksvr Programming 6 09-11-2003 03:05 AM


All times are GMT -5. The time now is 02:37 AM.

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
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration