Hi, i would like to learn some simple programming language, but i don`t know much about the subject. I made some simple programs in turbo pascal back in the 90`s, but i would like to try something for win xp, any tips?
Download a copy of Visual Basic Express 2005 (free) from Microsoft, and grab your OS's (XP or Vista) SDK while you're at it. Look for some tutorials on VB .NET. It's a rediculously easy language to pick up. After you have some experience, start learning C, then C++. And you're set.
Before I went to C, I used to program in Flash (ActionSript) Why I recommend it: Flash authoring tool is very visual. You spend more time on coding rather on interface to do something, as it's easy to draw a rectangle, and make it move by code or animation. Also you can learn the basis of programing like how to arrange your code, comments, use functions, be comfortable with complex 'if' conditions. I find it fun as once you get the basis, you can create all sort of small utilities for yourself within a day. Also the ActionScript coding is a bit similar to C++ so adapting C++ would be much easier. Oh and, Flash will help you slowly how to think object oriented, and move on form there with more advance coding of Flash to a point where you stage is virtually empty, and your making a full app. However with C, your stuck with a back window that shows some results, after several years of practice, until your good enough , you can finally start having an interface and make something. With Flash you can easily share your program over the net as you can simply put it on a HTML page, and you can even access it on your gaming console if it supports Flash. You can also use a swf2exe program like Northcode SWF Studio (worth every penny), where you can access windows features such are making your project transparent with transparent borders, masking, Save/Load dialog box, Read/Write files, access and write in the registry, FTP, HTTP, joystick, use midi port, search, ActiveX, and well the list is VERY VERY long. At the end you will have a complete Windows 95 and up (Vista ready) stand alone ready application. The down sides is: 1- a lot money, as it cost to buy Flash and a swf2exe program 2- very depended. If either one (swf2exe or Flash has a bug, you have to wait for a fix) [up to know I personally never had problems] 3- Can't program for multi-core CPU's or 64-bit. 4- No 3D support (not yet, but I saw an Adobe keynote showing that they are working on it for the next version of Flash) Here is a sample (2-day trial unlockable) of a project I made (still working on it) as it has bugs and stuff that are un-complete, and features that doesn't work. See it as an pre-Alpha version. This was made in Flash 8 and Northcode SWF Studio. http://www.helpweaver.com/build.zip (extract all files and run, IF YOU RUN THIS APPLICATION THAT MEANS YOU AGREE OF THE EULA (read: eula.rtf))
No, ignore everything he just said. BASIC teaches you exceedingly bad habits which are damn near impossible to shake off as you progress. I would suggest PHP, Ruby, Python, or another scripting language to start with, as they teach basic programming fundamentals well.
BASIC is not the same thing as Visual Basic which is not the same thing as Visual Basic .NET. With the latter you can actually write OO applications whereas with the others you cannot. If you use VB.NET there's nothing to stop you learning all the decent programming practices you might need to know if you do some serious development. Having said that I think you should start with a scripting language as they are very easy to get started with. It's a good way of figuring out whether you actually enjoy programming or not. I suggest Ruby as it is very simple to create simple programs but it can scale up very well can allow you to create full blown object-oriented GUI web applications if you so wish. You'll get plenty of people in here saying that you won't learn the fundamentals of programming unless you start of with C/C++ but I'd say it's more important that you start in an environment you're comfortable with. If you don't have the patience to follow the C/C++ path then it would just be a waste of your time. Once you get back into simple programming and you want to learn the more fundamental aspects then by all means jump into the C/C++ end of the pool.
I would suggest that there's no point in learning C, you may as well go straight to C++. As a Flash programmer myself, I wouldn't recommend it as a starting language. The fact that it's visual I think works against learning to program at it's most basic level. Flash can be tempremental sometimes, and you need to understand how to communicate across various parts of the program. Best thing to do I reckon is get a book on C++, and work with simple text output. You won't produce anything visually astonishing, but the linear and clean nature of writing code that outputs text makes for a clear understanding of the relationship between the code and the result. After you've learnt the basic rules, syntax and algorithms of a modern language, then Flash or Java would be a good next move I reckon. Personally I learnt programming in C++ - and Assembler, but don't go there! - and every other modern language has made sense to me since.
You most certainly can do OOP in VB. But learning programming based on a GUI is bad, it is awful to get used to double clicking on form elements and using strenuous amounts of CamelCase. Erm... what if you want speed and efficiency?
If he's programmed in Pascal, BASIC will act as a nice bridge between that and a real language (i.e. C).
Well I've never used pure Pascal (just Delphi) and it's practically identical to VB6, and not far off VB .NET.
Well I didn't get the impression he's doing some complex programming! As a learning tool, C isn't as useful as C++ by virtue of the fact that it's older and syntactically less similar to more modern languages - Java, PHP, Actionscript and so on. Besides, if you want speed and efficiency, you go with assembly-level code, no? I'm under the impression anyway - perhaps wrongly - that C++ is the standard, and not much is written in C anymore - what piece of software uses C as it's primary language? This however, is beside my first point...
Probably why I didn't even suggest that was a good idea. Yes it's possible, but you spend a lot of time trying to work around the lack of common constructs. Urm, nearly all software. Linux is almost completely written in C, I never write in C++. And your first point is moot as nobody incited anything of the sort.
Look i don't want to get into a heated argument here, but the first post of this topic is about learning to program, hence my argument. I'm not entirely convinced on what software is written in C - besides OS's for which it's very suitable because that speed is far more critical. But I'm really not aware enough to say...