Skip to main content
Welcome guest. | Register | Login | Post

Best way to learn: from scratch?

10 replies [Last post]
libervisco's picture
Offline
Joined: 2006-05-04

From my previous and ongoing experiences I would say that the quickiest way to learn a new programming language actually isn't to dive deep into the complex code. If you start with something too complex and try to figure *that* out you'll soon be overwhealmed and frsutrated. It is just too much to start with.

Maybe the best is to just search for snippets of code that do simple things or small programs that again do simple things or do some powerful things, but with a cleverly simple code.

And then drawn from ideas you've encountered there you start building your own snippets and pieces until you learn enough to be, at some point, ready to dive deeper into complex projects.

I will admit, again, that I am not a programmer. I am considered a "webmaster", but I do not actually know all that much about php, a language that I seem to feel the need for more and more. It is indeed a limitation, especially with drupal that really requires php knowledge to make the most of it, but there's an example. Trying to figure out drupal inside out with my php knowledge would probably require a week or few of dedication which would mean leaving these web projects behind for that long, something I can't afford at all. So I am doing what I can. I'm sure that gradually I will be able to grasp enough to make more and more of drupal and therefore more and more out of this site, which is one of the reasons I chose to switch Nuxified.org to drupal. It forces the need to learn which in turn allows for potential that would otherwise not exist for this site.

But, I'll still have to start somewhere else with something simpler to reach a point where I will really comfortably be able to read and understand complex code such is drupals and, of course, other systems.

OK, all this must be pretty obvious, but then again maybe you have had a bit different experiences. I'd be glad to hear them. Learning is fun, but I think only if done right. Eye

Thank you
Daniel

free-zombie's picture
Offline
Joined: 2006-03-08
How about a good book ?

How about a good book ?

Seriously, good books are good for learning programming languages.

ok, I don't count, I learned the first steps in Visual Basic from my dad, but I only really grasped loops after reading a book about Java Eye

 

Apart from that there are a lot of tutorials on the web.

I learned PHP off php.net... but I could program by then, so it was different to your situation I suppose. But the function docs on php.net all have some example code, and the comments have even more of it. 

libervisco's picture
Offline
Joined: 2006-05-04
True, a good book is a good

True, a good book is a good way to start as well, but again only if it's content isn't too much to grasp for a beginner.

I once started reading a book called "Bottom up programming" or something like that which was about programming assembler - talk about taking too big a leap. Laughing out loud

But introductory books are good. For me I think quick online tutorials packed with examples I can write right in and run immediately are probably the best. And I know there's lots of them out there.

tbuitenh's picture
Offline
Joined: 2005-12-21
A good book to learn a

A good book to learn a programming language can easily be recognized.

  1. Try to lift it. Heavy? Try another book.
  2. Read a random page of the first chapter. It should be labeled something like "introduction" or "first steps" and you should be able to 90% understand it.
  3. Read a random page from the middle of the book. Do you understand 60% of it?
  4. Are there some example projects / suggestions for further reading / ideas near the end of the book?

To summarize, it should be suitable for reading after dinner instead of watching tv. You can hack at night or the next morning Smiling .

kanenas.net's picture
Offline
Joined: 2006-03-27
A good book and...

A good book and... some good friends in a good forum !!!

A good book for begining your trip and some good friends to enjoy the rest of the trip !!!

After that ?

You will need an intresting project to deal with.

Don't give up !!!

Keep on coding !!!

libervisco's picture
Offline
Joined: 2006-05-04
Well said guys. Great

Well said guys. Great advice. I give a point to each of you. Eye

I certainly wont give up. I can't give up since I need this knowledge, and the more I know the better these, already *ongoing* projects will be... I feel I could do some really cool things if I only knew how to program them so it's best to take these advices and go on. Smiling

Cheers
Daniel

supermike's picture
Offline
Joined: 2006-02-17
College is a terrible place

College is a terrible place to learn computer programming. I can throw into the trash everything except what I learned about how various sort algorithms work.

Nowadays colleges just don't have the hardware and software to teach real-world programming, and they aren't plugged in enough with businesses to know what to teach. A local college near me teaches Active Server Page web development using Windows 95's Personal Web Server. That's a great way to get laughed out of an interview. And most corporations are starting with web farms for new projects, so sufficient hardware and software configurations are necessary, right off the bat. They don't teach that in many colleges.

Also, the whole concept of having to tie math and science to programming is beyond me. All you need is an understanding of algebra and accounting and you're grounded enough to tackle most business programming tasks.

I've been programming since I was 14 and I think that was in 1979 if I'm not mistaken. I didn't even have a computer and I would use paper to think out programming. I started with BASIC and switched to C when I was 16. I would read little 200pg. books on these and write the programs with nowhere to run them. My mother couldn't afford one. I didn't get one until my last year of highschool. In the interim, I finally convinced my school math teacher to let me run the little programs I wrote on their math computer that they used to use to tally up grades before they upgraded to the next model. It was a TRS-80 Model II that they used, and I got to use the Model I. I then switched to Apple for many years. In college I learned on a VAX. Linux wasn't even invented yet.

I love reading programming books -- that's my style. And then I write stuff and try it out. And I like borrowing snippets from the web and customizing them into my own stuff.

Short web tutorials have also been very useful. That's how I learned Python, MySQL, and PostgreSQL, initially.

 

free-zombie's picture
Offline
Joined: 2006-03-08
I have to throw in a little

I have to throw in a little story as well Eye
as some of you will know, I am 15 years old and quite a geek... I started programming when I was about 9 - my Dad is a proffessional programmer and I was interested. So he tought me some VB6 on Windows NT4. so every now and then I would play around with vb on his box in the afternoon. later, I learned Java, C#, C and C++ from books. C was Kerningham&Richie. I just read the books in the evening before going to bed. Imagine that, a (?) 12 year old kid reading a BIG book on Java 2 for pleasure.
PHP was a whole different story. I had some HTML under my belt and decided to join the school homepage team (which is currently a HTML course and writed ugly HTML3). By chance, this was the year a local company noticed how much cheaper web sited designed in a contast amongst schools are... hehe. An older student gave me a brief introduction to <?php, echo and include; I firgured the rest out from the code he was writing for the project, learning the rest from php.net, MySQL alongside. within a few weeks I was able to write the news section.
python was another book. but you know that.

tbuitenh's picture
Offline
Joined: 2005-12-21
I have to half-disagree with

I have to half-disagree with the college thing. Not every college is still on win95. Over here all computers dual-boot winXP pro and the latest SuSE, except for the SunRays of course, those are connected to a Solaris box Smiling .

College (at least on this side of the big pond) is not necessarily meant to educate one for business. It's science! Yes, there is some math that really makes me wonder what I could ever need it for, but a lot of it (combinatorics and such) is actually useful if you want to understand which algorithm will be faster without wasting time on implementing it and trying. It goes a lot further than knowing bubblesort is dumb.

ma_d's picture
Offline
Joined: 2006-07-07
tbuitenh wrote: A good book
tbuitenh wrote:

A good book to learn a programming language can easily be recognized.

  1. Try to lift it. Heavy? Try another book.
  2. Read a random page of the first chapter. It should be labeled something like "introduction" or "first steps" and you should be able to 90% understand it.
  3. Read a random page from the middle of the book. Do you understand 60% of it?
  4. Are there some example projects / suggestions for further reading / ideas near the end of the book?

To summarize, it should be suitable for reading after dinner instead of watching tv. You can hack at night or the next morning Smiling .

I don't think that's so simple, you're describing a good introductory book but not necessarily a good book.
For example, when I decided to play with c#, already knowing Java and other similar languages, I didn't want an introductory book: I already had an introduction by knowing the area. I wanted a good reference that was readable. A good reference is going to be heavy... With the exclusion of languages whose specs fit within a couple pages, ie c.

Number 3 is good advise for any technical book though: Chapters should be as orthogonal as possible and explicitly warn you when they can't be. But I think this happens naturally as it's more difficult to make a book flow than to just write each chapter as if it was a book unto itself.

ma_d's picture
Offline
Joined: 2006-07-07
supermike wrote: Nowadays
supermike wrote:

Nowadays colleges just don't have the hardware and software to teach real-world programming, and they aren't plugged in enough with businesses to know what to teach. A local college near me teaches Active Server Page web development using Windows 95's Personal Web Server. That's a great way to get laughed out of an interview. And most corporations are starting with web farms for new projects, so sufficient hardware and software configurations are necessary, right off the bat. They don't teach that in many colleges.

If a company is hiring you based on experience with they're tools they're not looking for long-term employment of high quality applicants anyway and you don't want the job...

Of course anyone knows not to say "yea, I know the latest and greatest, xyz" unless they know it is the "latest and greatest." Of course, "greatest" is never a universal. But Computer Science has never been about the tools, it's about the theory. Real-world programming isn't something you're supposed to get in academia, you're supposed to get it in ... the real world ...

Between teaching introductory logic and NP completeness it's hard to fit in "the latest in MS .NET technologies!".

So the only disadvantage those Win95'ers have is well, programming on such an OS is probably a nightmare... And it would probably be good to get experience with a more modern langauge than C++.

Anyway, you need math and science because you need:
1.) Statistics (science) for useful profiling.
2.) Logic (math) for recognizing unscalable algorithms.

Besides that, at my University (nameless to avoid advertisement) they do offer you to learn things like:
1.) Basic Unix.
2.) An experimental introductory Linux course.
3.) Java
4.) C#
5.) Software Engineering practice
6.) C++ and Make using g++ and linux (I think you can still get this)
7.) SQL, theory and use

We have available OS X, 10.4. Windows XP systems, with "free" Microsoft software. RHEL 4 systems, with 3 free licenses for each students personal use. And all the labs are filled with 1-3 year old systems.

I'd imagine that college was the exception judging by how dated they were.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.