Question:
Programming Computers. Suggestions.?
anonymous
2007-06-29 10:14:21 UTC
Im trying to learn to program. and i was looking for some information. anything you can give me. But mostly on programming languages and suggestions on which are more suited for learners and what they all do. Also anything about it you can tell me. Thanks.
Five answers:
csanon
2007-06-29 17:26:39 UTC
I guess the best thing for a prospective programmer to do is read http://www.catb.org/~esr/faqs/hacker-howto.html . No, it's not about how to hack a guy you hate, or get your 15 minutes of fame on mainstream media for a major "hack". It's about the mindset programmers should have.



That is, being able to critically analyse problems, having a sense of curiosity, and taking initiative. All good programmers know how to Google. Want to be a programmer? Learn to Google.



Asking for a programming language is a loaded question. There's many out there, and there is no best one. Is a hammer better than a saw? A screwdriver must be really stupid, you can't use it on nails. And that wrench? What a dumb tool, because you can't cut wood with it, right?



I suggest you read about the various languages on Wikipedia. And then Google for more information.



In general, I recommend you pick a high level language. Unless you know what type of applications you want to write, a high level language is usually what you want. High level languages allow you to express your abstract logic easily. That's precisely what you want. HIgh level languages means you'll be able to focus on learning computer science concepts, which every beginner has to do.



Python and Ruby are really good languages for this. You don't have to pick them of course. But they have very good language design, and allow one to start writing programs quickly with them. They are mainstream, popular, and how a lot of beginner learning resources.



Ron C talks about small, medium, and large languages. That's a very uncommon way to classify languages. The only way it is used is to describe something like Lua vs. Perl, with Lua being a lightweight scripting language while Perl being a generic vast programming language. (That's right, Perl is big, not small. I think all PERL programmers would laugh if you called it small. Nothing comes close to CPAN anyway).



However, categorizing languages by abstraction level (how high level they are) is meaningful. So is talking about their programming paradigms (functional, logic, procedural, imperative, declarative, and so on), their functions (systems programming, application programming ,web programming, scripting), and so on.



C++ is a great language, but it's definitely not for beginners. It's complex, there's a lot of bad learning materials and very few good ones (in the form of books usually). It's not so easy to get started with, as say, Python. And there's a lot of quirks from it's history that make learning it difficult.
anonymous
2007-06-29 18:10:41 UTC
Just a few things to consider...



One language that was specifically developed with learning in mind, and later grew into something much larger... Pascal.



There are some free Pascal compilers out there, but the full-blown Windows programming environment of choice for Pascal is Borland Delphi.



As to learning and tutorials, the best one I've ever read is Learning Perl from O'Reilly... go to the ActiveState website and you can get Perl for free.



Of course, if you want to learn a language that has a possibility for some immediate practical use, for little monetary investment, PHP is the way to go.



You COULD program either Perl or PHP in plain text using Notepad... but that might actually detract from the learning experience. Try ActiveState Komodo (the editor is free, the full-blown debugger costs, but has a free trial).
Ron C
2007-06-29 17:46:56 UTC
I am not a programmer. But, like you, I have been trying to find out more about it, as I consider either changing to that career field, or at least try to become proficient.

One thing I found out early, was that asking "What Language is best for xyz..." is a completely loaded question. Each programmer is very loyal to his/her favorite, and each thinks that one is best suited for learning, or wep app programming, or whatever. So I will share what I, a non-programmer, have learned so far about trying to learn.



C++ is a big honking language. Its like Boing 747 of programming languages. It can do so much, but it is very complex, and while I learned a little fairly easily, it was about .01% of it in its entirety. (I took a class in college, thats where I learned the .01%)



To me, I mentally group languages into 3 categories - simply put, small, medium, and big. Small (note: don't flame me for saying small, that doesn't mean limited in scope or capability, its just my mental note) consists of: perl, and PHP. Most programmers would say they arent even really full programming languages. Either way, both can do a LOT of things. And, in learning them, you will learn what is TRULY the difficult part of learning to program (for me, at least) - discipline and "how to do things." Once you get that idea, you can scale up to something like Python, which in my mind, is the medium language. Once you learn the things python can do, a lot of the differences in languages is HOW they do things, not the things they can do. So, after learning one language well, the rest get easier, as you are doing more "How does Java handle this as opposed to Python" instead of "How do I do xyz."



Another benefit of perl and php is that you can start learning them on linux, keeping costs low to nothing. Set up a LAMP server, put on PHP, and you can play and see the results a bit more easily than on windows.



Another thing to consider is, what do you want to do? I want to do web app design, so I tend more towards perl, php, ruby, java, things that are used extensively in the web. If you want to program video games, you may take a different route.



Additionally, for me at least, it is hard to just sit down and try to program, without something in mind. So I have to think of an app I want to develop, even if is something simple and thats been done to death, like an web form. Then at least, I have a structure to shoot for, and it helps me learn. Otherwise I sit there and think, ok I have php installed, now what?



Just my 2 cents.
TruthIsGod
2007-06-29 17:53:21 UTC
that depends on what u want to do.



any way, starting with 'C' helps. that's most basic language. vb is very simple, to get ur things done. if u need to do get some short job done quickly , perl is great. perl is great to just have fun with programming. i've not done any java yet, but it's a solid language, but bit slow when it runs. some understanding of assembly helps u understand how ur program works under the hood.
anonymous
2007-06-29 17:27:51 UTC
You should look into Java:



http://www.javacoffeebreak.com/tutorials/gettingstarted/index.html



Java is widely used in both academic and industry.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...