PDA

View Full Version : Learning a simple language



Monsuco
2nd November 2006, 10:34 AM
Ok, I origionally intended to learn Java, but it was outragiously complex in my opinion and the class I took in it seems to expect you to learn things with very little instruction or help. I want to know what is a good, simple, cross platform, language that is less complex than Java. Currently, the only languages I know are HTML, a few things in BASIC, and what little Java those people taught me. I want to learn to write simple stuff preferably applications (NOT PHP OR SOME OTHER WEBSITE LANGUAGE). What is a relativly simple language to learn in my spare time? I intend to learn this as a hobby so I don't want anything too complex, and I tend to use both linux and windows, so it must be cross platform or easily compiled reguarless of OS. What language should I try to learn?

Crayon Violent
2nd November 2006, 12:45 PM
vb is probably your easiest route, if you can afford it. If you're going for 'free' then I would suggest c++ but if you couldn't handle java then I doubt you will handle c++. It's a shame you don't want to try a server side language. Why not? PHP is actually a pretty easy language to pick up, in which to get your feet wet, and server side programming is all the rage.

Monsuco
2nd November 2006, 06:25 PM
I want to try developing aplications, not things like forums and web games, what uses are their for PHP besides those? What about Python and Perl, what are they like and what are they used for?

Crayon Violent
2nd November 2006, 11:35 PM
well...python is a language that can do pretty much anything from desktop GUIs to scripts for the web. Again, if you don't wanna learn something as "complicated" as java or c++, then you can just scratch python of your list of choices.

Perl is another language that more or less gets thrown into the same category as PHP. If you aren't interested in server-side scripting, then scratch that one off your list, too.

I'm sorry to say that there really isn't anything out there that's "easy" to learn, so to say. You're just going to have to buckle up and pick one and take the time and effort to put some serious learning into something. Again, if you are looking for the "easiest," then go for visual basic.

Visual Basic does a whole lot of the "behind the scenes" things for you, automatically. Basically the development environment consists of a bunch of tool boxes for drawing things like buttons and input fields and image holders onto a "stage", another toolbox to tweak them (like colors, fonts, etc..) and then you can attach a bit of code to each object so that when you press the button or whatever, it does something. When I first looked into VB, I figured out how to program my own "windows folder explorer," and a jigsaw game (where you re-order numbers 1-15 to put them in order) by myself in about 2 hours. Now granted, a programmer usually picks up other languages pretty quickly, but VB isn't really a whole lot like c++ or java, other than general programming principles (like looping, etc..), but it was still relatively easy to pick up. I guess it also helped that I used to make programs in QBasic when I was a kid, cuz the syntax has remained mostly in-tact... but anyways, it took me less than a day to make my own operational (albeit rudimentary) web browser (like IE, FF, Opera) from VB.

But if you want to become a serious programmer, you will quickly find out the tradeoff to the "easiness" of VB: limited control over things. I suppose it's an alright first language to learn the basic principles of programming, but...well, if you reach that level of expertise where you need more control over what's going on, you're gonna probably get rather upset that you didn't just learn something else first, like java or c++. Oh yeah, VB is Windows only, so you can forget about cross platform compatability if you go this route.

Seriously, if you want cross-platform compatability, you're just going to have to suck it up and give java another try, or else try your hand at c++. Personally I'd advise you to go for c++. Even though java works on different OS's, it is dependant on the user downloading and installing the OS specific java virtual machine in order for your program to run.

snoop
2nd November 2006, 11:38 PM
I wouldn't recommend python though, because it's based indentation rather than puncuation... Perl's a bit easier than C++; but again it isn't all that easy. C++ is hard because of memory management and pointers... I'd advise against just buying a book on it because there is so much to it, and so much computer science to be understood before you can actually write respectable programs in it and even programs that are securely written. My recommendation... try perl or PHP... you can use PHP for shell scripted type apps (but it isn't for that, and really shouldn't be used that way).

Crayon Violent
3rd November 2006, 02:49 AM
Just another FYI on PHP, it would be a great stepping stone to learning c++, as it was (is) written in c++ and the syntax and rules and logic and functions are all based off c++. PHP is like c++ without a bunch of hassles. Only it's server-side scripting, which you said you don't wanna get into. But I just thought I'd throw that out there; even though you are looking to do stand alone apps and not making "webpages forums etc.." if you learn PHP then sliding into c++ will be a whole lot easier.

One thing I have to ask though, you said that you wanted to make apps as a hobby. But what kind of apps? multi-user apps? stuff that involves connecting to other computers? Are you looking to do some "mini-game" like a card game to amuse yourself? Or maybe some calculator or something?

Another thing you might wanna consider (again, if you can beg, borrow or steal it) is Flash. If you're looking for some simple hobby, then you can use flash to for instance, draw a little smiley face and make buttons and stuff, and you can learn flash's built-in scripting language actionscript, which allows you to make the things you create interactive. For instance, you can add some 'listeners' to 'listen' for keystrokes like your arrow keys, to make the smiley face move around on the screen.

You can export your flash file as a .swf and all the person needs is the flash projector or whatever they are calling it these days, which most people have already installed. It's cross platform compatable too. Sort of... I mean, it's kinda sort of compatible with linux, but adobe treats the linux version as it's red-headed step-child, if you know what I mean.. however they swear that sometime in the near future as early as version 9 (we're on version 8 right now) it should be monumentously more compatible with linux.

Monsuco
3rd November 2006, 08:58 AM
Visual Basic does a whole lot of the "behind the scenes" things for you, automatically. Basically the development environment consists of a bunch of tool boxes for drawing things like buttons and input fields and image holders onto a "stage", another toolbox to tweak them (like colors, fonts, etc..) and then you can attach a bit of code to each object so that when you press the button or whatever, it does something. When I first looked into VB, I figured out how to program my own "windows folder explorer," and a jigsaw game (where you re-order numbers 1-15 to put them in order) by myself in about 2 hours. Now granted, a programmer usually picks up other languages pretty quickly, but VB isn't really a whole lot like c++ or java, other than general programming principles (like looping, etc..), but it was still relatively easy to pick up. I guess it also helped that I used to make programs in QBasic when I was a kid, cuz the syntax has remained mostly in-tact... but anyways, it took me less than a day to make my own operational (albeit rudimentary) web browser (like IE, FF, Opera) from VB .
That sounds like something I might look into, thanks for the advice


But if you want to become a serious programmer, you will quickly find out the tradeoff to the "easiness" of VB: limited control over things. I suppose it's an alright first language to learn the basic principles of programming, but...well, if you reach that level of expertise where you need more control over what's going on, you're gonna probably get rather upset that you didn't just learn something else first, like java or c++. Oh yeah, VB is Windows only, so you can forget about cross platform compatability if you go this route.
Well, that is a shame. I am not interested in something serious, at the moment. I would like to learn something as kind of an intro into programming and it seems like Java at the moment is a tad over my head, and would require a lot of instruction. I might consider VB, and as for it's lack of Linux support, I think at least some VB stuff will run on WINE, or at the very least I know Winetools has you install it so I suspect it will work on Wine.

Seriously, if you want cross-platform compatability, you're just going to have to suck it up and give java another try, or else try your hand at c++. Personally I'd advise you to go for c++. Even though java works on different OS's, it is dependant on the user downloading and installing the OS specific java virtual machine in order for your program to run.
True, you do need JRE to use Java, but most Windows OEMs will install Java for you, many Linux users and Mac users install it anyway due to the fact that Java is everywhere. Java might become more popular with Linux users after it goes open source, which supposedly will happen sometime soon, as then Distro's such as Ubuntu, OpenSuse, Debian, Fedora/Red Hat/CentOS, Slackware, and the others will all bundle with it in addition to the many such as Freespire and Mepis that already have it.



One thing I have to ask though, you said that you wanted to make apps as a hobby. But what kind of apps? multi-user apps? stuff that involves connecting to other computers? Are you looking to do some "mini-game" like a card game to amuse yourself? Or maybe some calculator or something?Well, I was actually thinking something simple. Maybe a graphical script that does something for you such as Easy Ubuntu (http://easyubuntu.freecontrib.org/overview.html) A simple game might be good, I might do something more advanced years down the line, but I figure I should start off slow.



Another thing you might wanna consider (again, if you can beg, borrow or steal it) is Flash. If you're looking for some simple hobby, then you can use flash to for instance, draw a little smiley face and make buttons and stuff, and you can learn flash's built-in scripting language actionscript, which allows you to make the things you create interactive. For instance, you can add some 'listeners' to 'listen' for keystrokes like your arrow keys, to make the smiley face move around on the screen.

You can export your flash file as a .swf and all the person needs is the flash projector or whatever they are calling it these days, which most people have already installed. It's cross platform compatable too. Sort of... I mean, it's kinda sort of compatible with linux, but adobe treats the linux version as it's red-headed step-child, if you know what I mean.. however they swear that sometime in the near future as early as version 9 (we're on version 8 right now) it should be monumentously more compatible with linux. Flash does sound like a good middle of the road thing. I know that Flash for linux is still at 7.0, which is way behind the Windows version currently at 9.0. Maybe if the GNASH project can ever sucessfully clone flash, we can move on. What annoys me the most is Flash 9 (as well as Shockwave) both run fine on Wine for Firefox (though I think hardware acceleration may not work) so they could easily port it. I suppose flash might be a good starter. How much does the SDK cost?

Isn't there something outher between simple stuff like BASIC and HTML and complex stuff like Java, C++, C, and the like? Is there a middle of the road?

Crayon Violent
3rd November 2006, 02:01 PM
uphoria (http://www.rapideuphoria.com/index.html) may be worth checking out.

Monsuco
5th November 2006, 01:06 AM
Wow, that looks cool. I will look into that. Thank you.

H2SO4
6th November 2006, 05:16 PM
Yeah I downloaded it too... I'll play with it when I get some time.