Who Wants To Learn How To Program?

Discuss how to write good code, break bad code, your current pet projects, or the best way to approach novel problems

Re: Who Wants To Learn How To Program?

Post by Capitan Hook on Sun Dec 27, 2009 6:40 pm
([msg=32069]see Re: Who Wants To Learn How To Program?[/msg])

Inferno96 wrote:I would really recommend Head First C# to anyone trying to learn C#.

I would recommend the whole Head First series, they are the best programming books I have ever read.

Other books in the series include: Java, Javascript, Design Patterns, Ajax, SQL, HTML and Css

Great post, by the way! :D


C# as first programming language?!
there are hue reasons why not to learn it (first):
1.) you need to instal a billion things before even starting!
2.) it keeps you from "dirty" job, there are too much "shortcuts"...
3.) keeps you linked to windows...and so on...
Capitan Hook
New User
New User
 
Posts: 17
Joined: Sun Dec 27, 2009 2:20 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by faazshift on Sun Dec 27, 2009 6:56 pm
([msg=32070]see Re: Who Wants To Learn How To Program?[/msg])

Capitan Hook wrote:C# as first programming language?!
there are hue reasons why not to learn it (first):
1.) you need to instal a billion things before even starting!
2.) it keeps you from "dirty" job, there are too much "shortcuts"...
3.) keeps you linked to windows...and so on...

Agreed. I took a programming class that focused on c#. Even though I quickly came to be very good with it, I always have and always will hate the language. It prevents the end-programmer from actually learning much, it is somewhat os-specific, and the .NET framework is horribly bulky and slow.
faazshift
Contributor
Contributor
 
Posts: 516
Joined: Wed Jun 03, 2009 3:55 pm
Location: Riverton, Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by Capitan Hook on Sun Dec 27, 2009 7:26 pm
([msg=32076]see Re: Who Wants To Learn How To Program?[/msg])

it's okay to program in c#, but only if you have expirience in programing (low-level programing), cuz than it saves your time, but if you are starting with c#, it's like runing a maraton, and you didn't in your hole life runed 1 kilometar...
Capitan Hook
New User
New User
 
Posts: 17
Joined: Sun Dec 27, 2009 2:20 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by kitejr on Fri Jan 08, 2010 6:57 am
([msg=33039]see Re: Who Wants To Learn How To Program?[/msg])

fun_man wrote:I have to say nathandelane you have provided a great post and all your replys have been very informative, I honestly have been trying (on and off, more off than on heh) to learn to program for years now, say at least 5 - I am no further now than I was back then, problem been, copy n paste, it's too easy, I have maybe 10 books on programming now, I read them and close them and sleep it all away, didn't help.

I always were fascinated with VB6 I don't know why, my old man told me C# & C++ were complicated so I stayed away from them.

I have interest in making tools for Win O/S and I want them to be able to communicate with the web, ie: Web Browser, Proxy Search, FTP Proggy etc, all utils that I use myself, I would also love to make apps that work with my website etc, and other sites such as facebook.

Is C++ the way forward? Or is it .NET?

Thanks in advance.


Heh this is a issue i'm having i've read enough into programming to get a moderately indepth grasp of simple programming but I still can't program a single line of code what I need to do is pickup a programming concepts book later in the future right now i'm putting alot of effort into learning javascript, and then python because that was the language I got farthest in so far when I was trying to learn.

I have a notebook full of notes i'm noting things down from the beginning to the end of this ride where ever it gets me all I can say is wish me luck this is my first legit attempt.
kitejr
New User
New User
 
Posts: 4
Joined: Wed Mar 18, 2009 3:22 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by haha01haha01 on Fri Jan 08, 2010 9:07 am
([msg=33044]see Re: Who Wants To Learn How To Program?[/msg])

Learning interpreted languages first is fine if you wanna be a programmer for the lulz of it or you want to achieve little programming knowledge in almost no time, but if you are actually planning on continuing with coding for more advanced things and maybe even as a profession you MUST learn at least one low-level compiled language. C++ is preferred, due to the great combination of low-level memory access and OOP present to the programmer.
There are 11 types of people in the world - those who understand binary, those who don't and those who already heard this joke.
User avatar
haha01haha01
Poster
Poster
 
Posts: 134
Joined: Tue Jan 13, 2009 10:08 am
Location: HackThisSite.org
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by hawaiian lab on Mon Jan 18, 2010 3:10 pm
([msg=33523]see Re: Who Wants To Learn How To Program?[/msg])

haha01haha01 wrote:Learning interpreted languages first is fine if you wanna be a programmer for the lulz of it or you want to achieve little programming knowledge in almost no time, but if you are actually planning on continuing with coding for more advanced things and maybe even as a profession you MUST learn at least one low-level compiled language. C++ is preferred, due to the great combination of low-level memory access and OOP present to the programmer.


I would agree with this statement the oo and memory access is crucial if you want to be a good programmer. Also when you gain some good knowledge dont be afraid to get into assembly. Try learning x86 ISA if you are so brave or start with a more basic ISA like MIPS or really basic LC-3. You learn alot about what the computer does at a very low level and will make you a better programer in the end.
hawaiian lab
New User
New User
 
Posts: 5
Joined: Sat Dec 26, 2009 10:25 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by decker2407 on Mon Mar 01, 2010 3:29 pm
([msg=35945]see Re: Who Wants To Learn How To Program?[/msg])

Hi nathandelane.

your post and the resulting discussion was very interesting to read, and the main message I guess is that if you want to become a good programmer, the only way is practising a lot (which I totally agree with!). I have started programming about 6 years ago, with simple dos batch files, then did some shell scripting in linux and some perl, moved on to building my own website in html, and later php, then worked through an openbook that taught me the basics of c, and started programming in java about 4 years ago. The scripting stuff I mainly did at work for automating stuff (I am an engineer in automotive) but when it comes to build a more complex application in java I can only do it for the fun of it in my free time.
At the beginning I found it rewarding enough to just see how something I put together actually worked like I wanted it to. But for about a year or so by now I am starting to be frustrated because I don't see that anybody actually uses the stuff I build. I was planning on building engineering tools and putting them on the web for free download, but after doing some research I became reluctant to do so because it seems that there is no way to build an application without infringing dozens of patents, and eventhough the risk of being sued might not be that high it just doesn't seem worth the risk.
So I thought ok then I will just contribute to some open source project but found that the ones that would actually interest me in terms of their topic tended to be too high above my qualification for me to want to join in.
So I thought then I probably just have to make a career change and apply for a software developer position, but nobody wanted to hire me because I had no professional experience in software development. Well to be honest I actually got one offer but the package was ridiculous, so I couldn't really resolve to accepting it. I mean money isn't everything put at the end of the day that's still what you're going to work for, so...
Anyway, maybe I am writing too much. I guess what I am really getting at is that I am a bit out of ideas how to continue at this stage, and I am hoping that someone reading this has been there and has a good advice for me... :)
decker2407
New User
New User
 
Posts: 6
Joined: Tue Feb 23, 2010 3:17 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by UNL2009 on Thu Mar 11, 2010 3:08 pm
([msg=36539]see Re: Who Wants To Learn How To Program?[/msg])

Learn C, then Fortran, then java, then move on to c++ and c#. C as a start is imo the best way to go for a few reasons. (1) its got most of the fundamentals of programming and leads into Java and C++, and (2) it is hardly ever used after you learn it...so you can hate it all you want :D . My personal favorite is Java, with Fortran in close second. Fortran can really help you get to know the deeper workings of how computers run programs and compile them. With C, C++, and java, you just type in code into your IDE, then run the compiler and its done. There's not really any good IDE's for Fortran (I saw code::Blocks has a plugin for it..), and its pretty simple to code in pico, emacs, or vi.
UNL2009
New User
New User
 
Posts: 22
Joined: Sun Sep 07, 2008 2:32 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by hrasdt on Wed May 26, 2010 7:49 am
([msg=39101]see Re: Who Wants To Learn How To Program?[/msg])

haha01haha01 wrote:
Learning interpreted languages first is fine if you wanna be a programmer for the lulz of it or you want to achieve little programming knowledge in almost no time, but if you are actually planning on continuing with coding for more advanced things and maybe even as a profession you MUST learn at least one low-level compiled language. C++ is preferred, due to the great combination of low-level memory access and OOP present to the programmer.


I would definitely agree that learning a low-level language first is a must, but disagree with everything else you've said. C is far easier to C++ to learn, and although it doesn't have object orientation, Objective C does, and it's easy to learn obj-c after C. C++ seems ugly to me, after using C it just feels bloated and incoherent.
Also, in relation to interpreted languages being for "the lulz", please refer to this page about a Python game. Interpreted languages can be much faster in terms of productivity/speed of execution, at least in my experience. They are also a lot easier to debug, (excepting Scheme, of course). Segfaults? What're segfaults?
I would definitely agree about the low-level language first, but interpreted is not necessarily bad. Scheme is extremely low-level (conceptually), and Gambit will translate it into native C code.
hrasdt
New User
New User
 
Posts: 7
Joined: Wed May 26, 2010 6:27 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by nathandelane on Thu May 27, 2010 12:03 am
([msg=39144]see Re: Who Wants To Learn How To Program?[/msg])

decker2407 wrote:Hi nathandelane.

your post and the resulting discussion was very interesting to read, and the main message I guess is that if you want to become a good programmer, the only way is practising a lot (which I totally agree with!). I have started programming about 6 years ago, with simple dos batch files, then did some shell scripting in linux and some perl, moved on to building my own website in html, and later php, then worked through an openbook that taught me the basics of c, and started programming in java about 4 years ago. The scripting stuff I mainly did at work for automating stuff (I am an engineer in automotive) but when it comes to build a more complex application in java I can only do it for the fun of it in my free time.
At the beginning I found it rewarding enough to just see how something I put together actually worked like I wanted it to. But for about a year or so by now I am starting to be frustrated because I don't see that anybody actually uses the stuff I build. I was planning on building engineering tools and putting them on the web for free download, but after doing some research I became reluctant to do so because it seems that there is no way to build an application without infringing dozens of patents, and eventhough the risk of being sued might not be that high it just doesn't seem worth the risk.
So I thought ok then I will just contribute to some open source project but found that the ones that would actually interest me in terms of their topic tended to be too high above my qualification for me to want to join in.
So I thought then I probably just have to make a career change and apply for a software developer position, but nobody wanted to hire me because I had no professional experience in software development. Well to be honest I actually got one offer but the package was ridiculous, so I couldn't really resolve to accepting it. I mean money isn't everything put at the end of the day that's still what you're going to work for, so...
Anyway, maybe I am writing too much. I guess what I am really getting at is that I am a bit out of ideas how to continue at this stage, and I am hoping that someone reading this has been there and has a good advice for me... :)


Hi decker, I want to address your concerns directly, and feel free to contact me if you'd like. As you can likely imagine from my postings I have been programming for a long time, and I have struggled a lot as well. I have been part of start-ups, open-source projects, and professional development teams. I have likely done a lot more on my own than with any particular group. I try to learn new things in everything that I do. When I start a new language, it takes a bit, but practice is what gets me from point A to point B in the end. Often I set goals for myself. I sounds to me like you have done a lot of that. Don't get discouraged. The programming part of IT is not extremely competetive. There aren't many who would be professionals out there. But becoming a professional programmer takes more than schooling. You must be willing to sacrifice free time to get good. You might need to sacrifice money, benefits, or perks for a while as well. However if you can put yourself in a decision-making role, and you can make good decisions, then you will get far fast. Aside from programming however you should also learn software architecture, programming theory, design patterns, and best practices and programming patterns for each language you learn. There are some things you can use across languages. I follow a lot of teachings from Code Complete in my programming to provide for clarity. Each language has patterns that you are meant to follow however, and it is a good idea to learn those.

As for open-source projects, you won't ever know how much you can really do until you try. You can also create a programmer profile on places like SourceForge.net and Java.net so that others can find you. LinkedIn is a good place to do real-life networking, and who knows? That alone might land you a programming job. In job searching be willing to jump through any loops your possible future employer might put you through. That is how they filter out people who aren't serious. For example somebody may want you to do a take-home project, or online testing based on various programming languages that you may or may not know. Do try all of these, and don't cheat, because you are timed. If you don't know something give it your best guess. In one example, I was hired because I took a reasonable amount of time on my answers even though I missed some things, and still I was hired over another programming applicant who took several hours to take the test, but got 100%. That programmer likely cheated on his tests, and thankfully my interviewers realized that.

Finally if you would like to collaborate with me on something, then I would be happy to do so. It may take me some time to respond to an inquiry, so please be patient. Good luck.
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


PreviousNext

Return to Programming

Who is online

Users browsing this forum: No registered users and 0 guests