Well, I'm just starting to learn Visual Basic on school, and athough I've told the teacher that Linux is better for programming, he just won't listen.
So as I'm really close to having a new comp and I'll run Debian on it, I was wondering if there is a similar Language to VB that's easy to learn.
Are scripting languages easy to learn?
Give your recommendations.
Thanks in advance. :p
Fryguy8
09-21-2004, 12:58 AM
While there's some things similar to visual basic, nothing really comes that close.
If your curriculum is visual basic, then either use wine and emulate it (which should work reasonably well), or run it natively.
BTW, basics of programming shouldn't be taught in linux unless the entire class is versed in linux. Don't be so greedy; you aren't the only person in the class, and others will be left in the dust trying to learn how to program and use *nix at the same time.
CaptainPinko
09-21-2004, 01:05 AM
just learn java. may not be the best language but it is a good place to start.
personally I use NetBeans IDE (http://www.netbeans.org) as it is really nice and handy and you can't go wrong with Sun's Java Trails (http://java.sun.com/docs/books/tutorial/trailmap.html) or other free resources (http://www.webhost-galaxy.com/mirrors/eckelbooks/TIJ-3rd-edition4.0.zip) . It's simple and coherent, lots of info out there for it, you'll learn OOP, and it's widely used. I suggest you start here before ever trying C/C++. Those can get too tricky with pointer to start a newbie off in IMHO
Thanks a lot guys, but I'm making my new system dual boot Debian and XP Pro, just for Visual Basic, Home Plan Pro, and gaming. The rest will be done in Linux, so I'll check out the resources you've posted.
One more question. Is python a good starting language, even if you come from VB?
Thanks a lot!
eskiled
09-21-2004, 08:44 PM
Im not a programmer of any sorts, but I have tried several languages. HTML, java, trying to get into vb, and python.I never got very far hahaa always got kinda bored:), but besides HTML i think python was definatley the easiest. However its not very practical. Who really writes hard core programs in Python??? However Java is all of the place, and is probably more useful. So I recommend you start with a language you might actually use. Goodluck!!!
madcompnerd
09-21-2004, 09:42 PM
Install Windows for the time being and learn to code that way, although I doubt they require you to work at home.
VB is pretty forgiving about stuff, so it actually lends itself well to writing things ahead of time and fixing them later. You could probably write your homeworks in a text editor and copy them into VB (of course you have to make each function properly and then paste in the appropriate code.
And actually *nix works well as an introductory programming course. As gcc is freely available they can require homework and require compatibility with a free compiler, and it's good to have the absolute that everyones code work on one compiler. You can then have a remote server that people ssh into (through PuTTY), you teach them a few basics and they'll be fine. That's how it's taught here, at ISU.
But that's C++.
bwkaz
09-21-2004, 10:31 PM
Originally posted by eskiled
besides HTML i think python was definatley the easiest. However its not very practical. Who really writes hard core programs in Python??? Um, if Eric Raymond can do it, it's good enough for me.
:p
http://www.catb.org/~esr/fetchmail/
Specifically, fetchmailconf was written in Python.
Also http://gpsd.berlios.de/ -- gpsd has a Python frontend (and based on its previous site -- www.pygps.org -- it was originally Python anyway).
mr orion77
09-23-2004, 01:54 PM
isnt python used for networking uses rather than applications. i've never heared of many programs written in python, what is gui development like for python.
capaci
09-23-2004, 02:43 PM
Originally posted by mr orion77
isnt python used for networking uses rather than applications. i've never heared of many programs written in python, what is gui development like for python.
python gui programming is done with TKinter and it's pretty easy...i'm not sure what TKinter is, but i think it has something to do with the TCL language. i'm not familiar with that language, but i've read that somewhere.
as for programs written in python, gentoo's entire portage system is written in python i'm pretty sure. and i believe a lot of red hat/fedora's utilities are too. correct me if i'm wrong.
i love Python though, i started with C, then C++, then learned Java, and now i'm learning Python. Python is definitely my favorite so far.
cybertron
09-23-2004, 02:45 PM
Actually, from what I've heard of python it's a very powerful scripting language. I know it has some QT integration, so I assume you could do GUI's for it somehow with that.
I'd like to learn python, but my darn school didn't start teaching it until after I took the basic programming classes and now I don't have time because learning Smalltalk (grrr:mad: ) is taking up all my time.:)
Yeah, I know, smalltalk probably has its uses, but I haven't found any yet:D
JSimmons
09-23-2004, 03:11 PM
There really is "No best language" with which to learn programming. For instance the first language I officially "learned" was PL/1 on an IBM mainframe. That was more than 20 years ago.
In that time, I've learned RPG, IBM 360/370 Assembly language, Cobol, interpreted basic, dBase2, Pascal(self-taught), and C++ (als self-taught).
If you want to learn good technique, I think it's best to learn a language that is strongly typed, such as Pascal.
To learn a language well, you should identify a job that you want t do via a computer program, and write a program in your chosen language to perform that job. What better way to learn something than by actually doing it?
That aside, your claim that Linux is "better for programming" is utter horse crap. What's better for programming is whatever puts beans on the table. That's why I earn a living writing Windows apps, and tinker on Linux at home. There's almost no money in developing for Linux. I'm not greedy or anything, I just want to be able to eat on a regular basis.
mr orion77
09-23-2004, 06:41 PM
That aside, your claim that Linux is "better for programming" is utter horse crap. What's better for programming is whatever puts beans on the table. That's why I earn a living writing Windows apps, and tinker on Linux at home. There's almost no money in developing for Linux. I'm not greedy or anything, I just want to be able to eat on a regular basis.
good point.
the problem with python is, its so nice that you dont want to use anything else so if its your first language you hate other languages afterwards.
capaci
09-23-2004, 07:20 PM
Originally posted by mr orion77
good point.
the problem with python is, its so nice that you dont want to use anything else so if its your first language you hate other languages afterwards.
that sounds about right, i don't know since i didn't start with python, but it seems like it would be like that. i love python, but i'm glad i didn't start with it. i think if i did i would have had a much harder time learning c/c++.
bwkaz
09-23-2004, 07:27 PM
Originally posted by JSimmons
There's almost no money in developing for Linux. There's also no money in developing for Windows. Or at least there shouldn't be -- software really is much closer to a service industry than a manufacturing industry. It's when people try to treat it like a manufacturing industry that they get slipping deadlines, curtailing feature sets, and crappy code.
The majority of code is not even written to be sold; it's usually written by people that will use it internally in their own company. Of the stuff that is sold, it makes more sense to give the software away and charge for support, than the other way around -- that way you'll get a slightly smaller but much more steady revenue stream.
Have you ever read ESR's The Magic Cauldron? If not, you might want to consider doing so.
Your first statement was more politically motivated than based on real-world facts. Writing Windows code most certainly earns a paycheck, and it does so with much more frequency that writing Open Sourse stuff. I don't know anybody (personally) that is earning a paycheck writing Linux code. On the other hand, EVERY SINGLE programmer I know that's employed is writing Windows code (or web-based stuff using Windows tools).
Your second statement about (internal-use software) is so broad in it's assumptions that it's laughable. I've been writing code for over 20 years, and have several million lines of code under my belt, and of that, I think I've written MAYBE five apps (very small ones at that) for "internal use". The rest of the code was released in a product sold to a customer, and the only time my programs have ever been delivered late was because we were waiting on the hardware guys.
I think open source is a bad concept for applications, especially if you expect to earn a living writing code. I'd love to be able to say that it's equally easy to get a paying job writing Linux code as it is to get a job writing Windows code, but the simple truth is that it's not.
A final point - I don't want to pay for yearly support. I want to buy the app once and be done with it. Most other end users also want thee same thing. I don't need support, and besides, support fees can be undermined by using chat groups (like this one) where users can exchange stuff they learned on their own or ripped from the supoprt emails. Where's the revenue stream then?
bwkaz
09-25-2004, 10:08 AM
And you still haven't read The Magic Cauldron.
Do so before making more unfounded assertions.
But just for giggles:
Originally posted by JSimmons
I don't know anybody (personally) that is earning a paycheck writing Linux code. Which of course means that no one is, and that it's impossible to do so. Pay no attention to the Red Hat programmers behind the curtain! :rolleyes:
I've been writing code for over 20 years, and have several million lines of code under my belt, and of that, I think I've written MAYBE five apps (very small ones at that) for "internal use". And I've been writing software for 6 years that's ALL been for internal use.
Every single line of code.
You CANNOT go on your own experience ONLY (that's called using anecdotal evidence, and it's not a valid argument). You HAVE to use wider statistics -- such as those presented in The Magic Cauldron.
The rest of the code was released in a product sold to a customer, and the only time my programs have ever been delivered late was because we were waiting on the hardware guys. "Late" defined how? Released after the initial target date? Or did you tell the client "it'll be done when it's done" like Id did with Doom 3?
One of the basic laws of software engineering put forth by Fred Brooks in "The Mythical Man-Month" (you have read that, right?) is that you can have a fixed feature set, or you can have a fixed release date. You can almost NEVER have both.
If you have been able to do that, then you have been luckier than (at an estimate) 90% of the software industry. You've certainly been luckier than Microsoft's programmers.
support fees can be undermined by using chat groups (like this one) where users can exchange stuff they learned on their own or ripped from the supoprt emails. Where's the revenue stream then? I don't know. How is Red Hat making all their money? You have seen their yearly earnings statements, right?
JSimmons
09-25-2004, 12:20 PM
You're doing nothing more than regurgitate theory according to things you've read (or read about).
I didn't say nobody is making a living writing Linux code, I said nobody I know is making a living doing it. I know between 70 and 100 programmers, and of the ones earning a paycheck (meaning they're employed), NONE are doing it by writing Linux code. A few tried, but there were simply no paying jobs so they went back to writing for Windows (that's where the money is). I don't like that, but you can't argue with the facts.
The "red hat programmers" consist of a very small section of the programming work force, and indeed, MUCH of the stuff in Redhat (and anny other distro you might happen to name) is provided through the free software community (a bunch of guys that don't get paid for writing Linux code).
A fixed feature set can be made to fit into a fixed delivery date by elmination of features. I didn't need to read a book to know that.
Here's how it typically goes:
1) The sales nazis decide on a set of features (be it for an update or a whole new app).
2) The developers tell them how long it will take, and which of the features is related to other features in terms of internal program structure.
3) Sales nazis are forced to trim the feature list to complete the project "in time", and then provide a list of "if we have time" additions to the feature list in order of preference.
4) Programmers deliver the completed code (most likely on-time).
The problems are introduced when some idiot in management decides he knows better how long the project should take, or decides that an "if wee have time" feature is a "must-have", or comes up with something completely new that has no design time invested because it's just an idea.
And if you think that's hairy, you should work in our shop now. We are releasing a new version of an app on Monday, and we were still adding "new ideas" from the customer on Thursday.
I'm sure that kind of crap happens no matter what OS you're writing for. However, it's a lot easier to stomach when you're getting paid well to do it.
amgeex
09-25-2004, 01:52 PM
People! This thread isn't about if I want to make money out of programming or not! It isn't about if programming on Linux is profitable, if open source programming is good and as good or better or worse than that done on Windows systems!
This thread is about giving advice on what programming language is a good start for someone (me) who has very small programming experience and has coded Visual Basic code ONLY.
Now, getting back to the original topic, python sounds good, and I know of many apps written with it. Take Nicotine for example, a p2p client for the SoulSeek network, works on Linux, Mac, and Windows, and was written on Python.
I guess for now, I'll be teaching myself some more Visual Basic, and I'm thinking of trying out LISP, which I've heard is very interesting. What do you have to say about that?
mr orion77
09-25-2004, 03:06 PM
i have always been told learn a platform independant language as it gives you greater freedom.
justlinux.com
Copyright Internet.com Inc. All Rights Reserved.