i want to learn how to write in a useful computer langguage and i am interested to know what would be the bes language for a newbie to get into..... Have have done a little (i mean a little) in Visual Basic and i have also done some PASCAL.
Printable View
i want to learn how to write in a useful computer langguage and i am interested to know what would be the bes language for a newbie to get into..... Have have done a little (i mean a little) in Visual Basic and i have also done some PASCAL.
also have u got any good tips for teaching yourself how to program...
regards
AND>>>>> do u have to buy a program to start learning?
Heya... I have used Delphi and like it a lot. It costs like $3000, but reminds of the VB interface. But if you want to learn without paying for it, go here:
http://bloodshed.net
Try out BASIC for a bit, with a shareware compiler such as Liberty BASIC. But, I wouldn't recommend waddling in it for too long if you want to get into serious programming. After that, look into Googling up some C++ tutorials, or, better yet, buy a book such as C++ Programming in Easy Steps. I bought it, and it's a great book for beginners such as me and you. Avoid C++ for Dummies, as it mixes in useless C preprocessors and commands, and jumps around too much.
Also, if you want to prep up for the D programming language, learn some Java, as that's what D will pretty much resemble. The D Site.
EDIT: And, check out Free Programming Resources.com. It'll become one of your main places for programming materials. It covers everything from Ada to XML.
EDIT 2: Also, yes, FPR is the ultra place for programming resources. Compilers(Console and IDE based), tutorials, sample code, related sites, everything.
My vote goes to Java. It will introduce you to Object Oriented Programming, and there are loads of free IDEs and JVMs out there. I personally use Eclipse and Sun's JVM to write all my java.
As for how to learn, that really depends largely on yourself. How best do you learn? From books? In classes/lectures? By seeing some example code and playing with it until you understand how it works? Once you identify that, your next course of action might seem simple; Buy a book, take a class, download some code samples.
I am going to say for a start out language go with perl. (Yeah I know I recommend perl for everything) But for starting programming it really is nice, and easy to get used to.
I am going to have to say, you are kind of putting the carriage before the horse, if you are trying to write a language, before you can even use one.
So learn your language first then try to write one. If by any chance you are going to do perl, there is a person named buu on irc.freenode.com in #perl that wrote his own language, he would probably help you out.
As far as learning I am going to have to agree with chsh, it depends on how you learn. Though I will say the best way to get the grasp of something is to write the code for it. If you read something you will learn, if you write something, you will learn how it works, how it was made, and how to do it again.
If you do need any perl help, let me know. Other than that good luck.
Perl's nice...however, for a complete beginner, I'd say start out with Visual Basic...doesnt' matter if it's ;NET or VB6, although I like VB6. After that I'd recommend you move onto C or Perl, but VB is a good way to get general programmign concepts down. I do have a couple things agaisnt VB though: one, it will only run on Microsuck Windows. bleah. Two, you can develop "bad habits" from it such as not putting semicolons at the ned of lines and stuff, all those little things you gotta do in most other languages. Visual Basic is just kinda a click-and-drag programming language, but it's nice for newbs. Am I repeating myself or what? C is also good to start with.
Hi
Noooooooooooooo Don't do that ........Though Visual Basic is good for rapidly developing Database type application..........it's bad for starting out..........Induces bad practices and makes the programmer lazy.....it's the worse first language to learn when you are starting off........Don't start off with VB IMO...........if you are just starting the first thing you should look for is learning good programming practices and concepts..........Logic Building......if they are strong you could later on go into any language...........Vb is bad bad for starting for newbws......in the begning rather than concentration on the language try to consentrate on Logic building,good programming practices .if your logics are strong and concepts are clea you can later get into any language:)Quote:
for a complete beginner, I'd say start out with Visual Basic...doesnt' matter if it's ;NET or VB6
I don't meant VB is good for nothing ......As a programmer i like Visual Basic........For developing Database Application IMHO thats the only thing it's good at.
Because you are Just Starting Off I would recommend get into somethig less fancy ......I would recommend go for any language recommended above......... anything but VB.
C is good .....Structured Programming......Simple and good for logic Building...and forces Programmer to follow Good Programming Practices in a few ways.
C++ and Java....Object oriented Programming languages.......Good for starting and understanding whats all the fuss is about.............. Object and Classes.......Everythig is going that way be it databases or languages.
I don't like basic and don't know Delfi or perl so can't comment on them.
--Good Luck--
As I've stated a billion times before, VB doesn't breed bad practices, bad teachers and references do. VB is fine as a beginner language, as are Perl, C/C++, python, Java, C#, etc. Just take the time to go beyond language syntax and learn good programming practices. "The practice of programming" is an excellent guide on good habits and can be found on amazon.
I think VB does build bad practices.
Firstly, it doesn't get programmers used to the idea that programs execute "one thing at a time". This is because the event model is counter-intuitive to how computers really work.
Secondly, in VB it is very difficult to see your whole program in one go - and even then, there are "things" happening "behind your back" which aren't obvious - event firing order, and other event-based things.
Thirdly, it makes new programmers think that programming is all about "dropping" "controls" on to a "form", which it isn't really, let's face it.
Now of course any experienced programmer knows that these facets of VB are just there to try to make GUI design easier, and don't actually affect the underlying way things work, but it will confuse the newbie a lot.
Slarty
Well once you learn C++ you'll begin to notice that every language looks just like JAVA syntax wise except VB. I find there is much more familiarity with languages like C++ or JAVA than anything else really. VB may or may not breed bad practices but it will make you more lazy than usual. This is guaranteed.
The bigest downfall of VB is it sucks when I need to create a installer in MASM to drop not only the executable but also those crappy runtime files. Their active X stuff is junk... command line arguments? Ahaha... a joke.
Mmmm...I think you need to quit sippin your 'stupid' juice. VB doesn't claim to be multithreaded (at least until vb.net). If you read up on how it (Visual Basic) uses Single Threaded Apartments vs Multi Threaded apartments and have half a clue it becomes clear.
And not all programs have only one thing happening at one time, it's called multithreaded programming...if done properly on a multiprocessor machine you can have all kinds of things happening at one time. Refer to my thread on pthread programming in the programming security forum for more resources and info.
Software development is going more and more to the component model you describe as vb, people are starting to shy away from the low level development of every single component and manual twiddling of code. That is why you are getting automated tools for Qt development, a vb like ide for java, and visual studio.net. It's easier for developers to push out code faster and worry only about their business logic.
It's difficult to see any reasonably useful application in one go. And in all reality, you DON'T need to see everything at one time. The level of abstraction this type of development provides is useful so that you can focus on the important stuff. There are ways to get down into the files it generates for you if needed or replacing that code with your own.
As far as special-ed's post....erm it's called C syntax. Java, C++, C# etc follow that model. And VB didn't make you lazy, you're the one who chooses to use bad practices and can't figure out the package and deployment wizard.
I'm a Microsoft Certified VB ninja...and I do all kinds of development (C/C++/C#/Lua/Python/Visual Basic/asp 3.0/etc, etc, etc) with all types of environments from web application/service to multithreaded linux servers.....VB doesn't breed bad practices. Bad development practices come from bad resources...not the language/platform itself.
How extensive is your experience with VB, or really development at all? I've got loads of Java, C, and Perl that amount to apps capable of handling "more than one thing at a time". The entire Java method of graphical interfacing relies on the event-driven development model, so I don't think your comments are all that informed or valid. The event model is precisely how computers operate *under certain circumstances* -- specifically those calling for non-automated interaction.Quote:
Originally posted here by slarty
Firstly, it doesn't get programmers used to the idea that programs execute "one thing at a time". This is because the event model is counter-intuitive to how computers really work.
I should think that's up to the programmer themselves, but by and large it's not as simple as "drag control to form, presto application is finished!". Visual Basic is IME the best RAD (Rapid Application Development) language out there. Sure, it may not be ideal for everything, but it can do a wide range of things, quickly. The latter being the key point.Quote:
Secondly, in VB it is very difficult to see your whole program in one go - and even then, there are "things" happening "behind your back" which aren't obvious - event firing order, and other event-based things.
Thirdly, it makes new programmers think that programming is all about "dropping" "controls" on to a "form", which it isn't really, let's face it.
Only if the newbie in question is prone to easy confusion and isn't interested in you know, actually learning the language.Quote:
Now of course any experienced programmer knows that these facets of VB are just there to try to make GUI design easier, and don't actually affect the underlying way things work, but it will confuse the newbie a lot.
[quote][b]And Python. And ASM. The syntax was derived from B IIRC, and C is the oldest currently widely used language that adheres to this style of syntax.Quote:
Originally posted by TheSpecialist
Well once you learn C++ you'll begin to notice that every language looks just like JAVA syntax wise except VB.
Elaborate, and be very specific, as to how VB makes you "more lazy than usual".Quote:
I find there is much more familiarity with languages like C++ or JAVA than anything else really. VB may or may not breed bad practices but it will make you more lazy than usual. This is guaranteed.
I dunno, I've written quite a bit of VB, and while it isn't my favourite language, I certainly never had any problems making my apps work in a lean fashion. Perhaps the success and usefulness of a VB app depends entirely on the competence of the programmer? Well, that's pretty well true of anything right?Quote:
The bigest downfall of VB is it sucks when I need to create a installer in MASM to drop not only the executable but also those crappy runtime files. Their active X stuff is junk... command line arguments? Ahaha... a joke.
C# kicks it's butt all over the place. :)Quote:
Originally posted here by chsh
I should think that's up to the programmer themselves, but by and large it's not as simple as "drag control to form, presto application is finished!". Visual Basic is IME the best RAD (Rapid Application Development) language out there. Sure, it may not be ideal for everything, but it can do a wide range of things, quickly. The latter being the key point.
Yeah, like I said, IME. :D
Why in the world would I use that pile of crap when I could control the look & feel of my installer and at the same time have and use as much source code of implementations of the LZ77 & LZRW3-A algorithms that I would ever need, want, or use.Quote:
and can't figure out the package and deployment wizard.
But you will admit that there is more familiarity with many languages useing something like C rather than VB. Agian, what I was mainly getting at is why would someone suggest useing VB... knowing fully well that languages like C is the gateway drug of choice.
Hi
I work in Visual Basic and like that language..........As mentioed earlier it's it's one of the best RAD Tool avaliable.............it doses half of the work for you ....with it's drag and drop interface and wizards to automate most of the things...help when you have to develop application in a short time frame..
--What do i have against VB as a first Language..........Consider a senierio a person is not familer with any programming language and concepts and wants to start off ........and you hand him a RAD tool to start of with.....
--I want to get a understand Object Oriented Concepts..........when you want to understand the basic concepts such as these Vb is IMHO would not be ideally suited for them.........To tell you the language that gave me the understanding of OO better was C++.......and don't forget to look at it form a noob presperctive.......which language is ideally suited for learning concepts........
--Though there are many IDS avalable for Java too similar to Visual Basic....but i will advise people to Code in the beggning in any text editor (i prefer Notepad).........IDS are to help you .....but in the beggning if you will put in a little more effort it will later help you better
--Dose 40 % of the Job Itself.....Wizards , Builders ,Prebuild ActiveX's to do stuff.Quote:
Elaborate, and be very specific, as to how VB makes you "more lazy than usual".
--Don't have to keep the code clean ........code is seperated in blocks (events blocks) so generally is more redable than any other language..
--Too fancy and flashy :)......Imagine You have just coded in Vb and notheing else and sudden transition to C , C++ and Java or any other (Non IDE) you you wonder where did all those go nooo i want them back ............aaaa have to write everything ...Vb used to write half the stuff fro me. you write the control name and press Period (.) and vola a list appears.
IDE's are not Suited for Starting off learning Programming......they are tooo helpful and increase you interdependence onto them but once your concepts are clear and logics are strong they are there to make your job easier and save time ......
The First language (IDE Tool) that i learned was Visual Basic and no prior experience with any other language.........when i went to fortran i was saying what the hell is this thing who made this **** :D .......... the transacton was difficult thats why i tell people not to start off with VB............Vb at later stage atleast one language before it.
This is my Openion not forcing anybody to follow it ......
--Good Luck--
On a scale from least important to most important, linguistic syntax falls to the least important side. If you know how to program, any syntax can be picked up, it's trivial.Quote:
Originally posted here by TheSpecialist But you will admit that there is more familiarity with many languages useing something like C rather than VB.
If C was the "gateway drug of choice" there wouldn't be vast quantities of C++ and Java programmers out there. In terms of why, instead of bashing what you see as the bad things the language teaches you, let's consider the pros:Quote:
Agian, what I was mainly getting at is why would someone suggest useing VB... knowing fully well that languages like C is the gateway drug of choice.
- Syntax itself is very simple and easy. Most people could pick BASIC up in a couple of hours -- and I'm not talking programmers, I'm talking regular people. This leaves more time to learn how to program, instead of the intricacies of why you have to use -> over . in C/C++ in certain situations.
- It is an extremely high level language. You don't need to do a lot of the things you need to do to properly write the same app in other languages. Things like realloc() and malloc() pretty well don't exist in VB (they do, but in really limited fashion).
- GUI design is simple, quick, and again gives a newbie a chance to do more PROGRAMMING than anything else.
- VB is very forgiving. This helps ease a new programmer along the learning process. They aren't frustrated at every turn and getting stressed because they compiled their app and it segfaults for no known reason. With VB, if you have a problem, it tells you up front about it.
- The IDE manages all the compilation, taking away yet another thing for a newbie to deal with.
Both the language and the VB IDE together do a good job of letting a beginner just write the core functioning code. For a beginner it's a great thing, because there isn't the extra BS of figuring out which classes to use for your GUI layout as there are in Java, for example.
While lacking in wide-ranging OO implementation, VB6 was the first language I used that gave me the ability to write OO code. The implementation is not as robust as in C++, but if we are going to let PHP get away with calling their implementation OO, then VB gets it hands down. From there, I picked up Java and Perl, which taught me what VB was lacking, and gave me a better understanding of why Object Oriented programming was good.Quote:
Originally posted here by SwordFish_13 I want to get a understand Object Oriented Concepts..........when you want to understand the basic concepts such as these Vb is IMHO would not be ideally suited for them.........To tell you the language that gave me the understanding of OO better was C++.......and don't forget to look at it form a noob presperctive.......which language is ideally suited for learning concepts.
Why? To me that smacks of memorizing the periodic table, something 99% of people are never going to need to do ever again.Quote:
Though there are many IDS avalable for Java too similar to Visual Basic....but i will advise people to Code in the beggning in any text editor (i prefer Notepad).........IDS are to help you .....but in the beggning if you will put in a little more effort it will later help you better
That's true of any language.Quote:
Don't have to keep the code clean ........code is seperated in blocks (events blocks) so generally is more redable than any other language..
EVERY major IDE does this, it's not related to the language, just the development environment. Eclipse does this as well, and it saves a lot of time.Quote:
Vb used to write half the stuff fro me. you write the control name and press Period (.) and vola a list appears.
I don't see why. People use training wheels to learn how to ride a bicycle, so why not an IDE to help them learn to program?Quote:
IDE's are not Suited for Starting off learning Programming......they are tooo helpful and increase you interdependence onto them but once your concepts are clear and logics are strong they are there to make your job easier and save time