Jump to content

Programming Help...?


Palle

Recommended Posts

I've been wanting to learn how to program for a very long time. I never really got into it because the stuff I read up on made it seem rather complex and daunting...

 

A few years later I sit here and I still want to learn but I have no idea where to start. I want to learn as much as possible and maybe take few courses later on... I want to make a living from this in the future.The material I've found on the web doesn't explain much to someone who is a complete beginner and have no experience.

 

I know a few of you guys (Bart, Euan?) have some experience with it. Where should I begin? Can you recommend any material that is worth buying (books, e-books)? Or anything else that could help?

Link to comment
Share on other sites

I'll be back to this thread tomorrow, busy night. But what type of programming are you interested in? What are you searching for on the Internet, java, C++ or are you looking at a general thing like Web programming?

I'll give you my story tomorrow bud, others will help More Like Sennex or Cyber, for reasons I'll explain tomorrow.

Link to comment
Share on other sites

I'm a dabbler, not a professional, nor even an amateur. But...

 

If you want to familiarize yourself with basic programming concepts and practices just to see if you like it, then I highly recommend this resource:

 

http://interactivepython.org/runestone/static/thinkcspy/index.html

 

I've done the whole course, including every practice exercise, twice. It's very, very good. If you register, you can save all your code snippets. There's nothing to download; the course provides space to write and run code from the browser. The language it teaches is Python 3 which is a very versatile language, though not hugely popular. The important thing though, is that it's a very easy language to learn and forces you to develop good programming habits. Its syntax is clean and easy to read, making it very friendly to beginners though no less powerful than other languages.

 

If you know what you want to do, then you can consider learning a specific language:

 

iPhone apps: Objective-C

Android apps: Java

'Web' programming server-side: PHP, ASP.NET, Java, C/C++, Python, Ruby, etc. (depends on what back-end a website uses)

'Web' programming client-side: JavaScript

Web design: CSS, HTML, JavaScript

Video Games: C++, Java, C# (Microsoft)

Database: SQL

 

What's in demand? (Everyone seems to have a different opinion on this)

http://mashable.com/2014/01/21/learn-programming-languages/

http://www.lifehacker.com.au/2014/02/picking-a-programming-language-python-and-java-still-top-the-charts/

https://www.udemy.com/blog/best-programming-language/

http://www.techrepublic.com/blog/career-management/best-programming-languages-to-learn-on-your-own-time/#.

 

I've dabbled in Python, C++, {JavaScript, HTML, CSS} (grouped together because they all work together) and Fortran (many, many moons ago).

 

There are tons of resources out there for each and every language.

If you decide to put your dick in crazy, be ready to change your phone number and relocate.

Link to comment
Share on other sites

I'll be back to this thread tomorrow, busy night. But what type of programming are you interested in? What are you searching for on the Internet, java, C++ or are you looking at a general thing like Web programming?

I'll give you my story tomorrow bud, others will help More Like Sennex or Cyber, for reasons I'll explain tomorrow.

I'm not sure but I read that C and C++ are good languages to start out with if you want to be able to write programs for Windows etc? That's something I'd want to be able to do, I also would like to make android apps. I don't know, I'm willing to learn anything what would give me the most job opportunities.

Link to comment
Share on other sites

Python is the easiest and most fun to learn, I've just started it myself. 

 

Google "Learning Python the hard way" if you want to spend some cash. 

 

 

Codecadamy is also excellent, and free.

  

I'm a dabbler, not a professional, nor even an amateur. But...

 

If you want to familiarize yourself with basic programming concepts and practices just to see if you like it, then I highly recommend this resource:

 

http://interactivepython.org/runestone/static/thinkcspy/index.html

 

I've done the whole course, including every practice exercise, twice. It's very, very good. If you register, you can save all your code snippets. There's nothing to download; the course provides space to write and run code from the browser. The language it teaches is Python 3 which is a very versatile language, though not hugely popular. The important thing though, is that it's a very easy language to learn and forces you to develop good programming habits. Its syntax is clean and easy to read, making it very friendly to beginners though no less powerful than other languages.

 

If you know what you want to do, then you can consider learning a specific language:

 

iPhone apps: Objective-C

Android apps: Java

'Web' programming server-side: PHP, ASP.NET, Java, C/C++, Python, Ruby, etc. (depends on what back-end a website uses)

'Web' programming client-side: JavaScript

Web design: CSS, HTML, JavaScript

Video Games: C++, Java, C# (Microsoft)

Database: SQL

 

What's in demand? (Everyone seems to have a different opinion on this)

http://mashable.com/2014/01/21/learn-programming-languages/

http://www.lifehacker.com.au/2014/02/picking-a-programming-language-python-and-java-still-top-the-charts/

https://www.udemy.com/blog/best-programming-language/

http://www.techrepublic.com/blog/career-management/best-programming-languages-to-learn-on-your-own-time/#.

 

I've dabbled in Python, C++, {JavaScript, HTML, CSS} (grouped together because they all work together) and Fortran (many, many moons ago).

 

There are tons of resources out there for each and every language.

Cool, thanks for the info. I'm not sure what I want to do though, for personal use I would like to make programs for windows and android apps but when it comes to work I'm not sure what to choose.

Link to comment
Share on other sites

you might want to look at this as a resource:  http://en.wikipedia.org/wiki/Android_software_development

 

If you have never programmed before and want to learn to program first I would suggest you look at PERL and  Tcl

 

they are script based programming languages and tend to be free. A lot of the fundamentals are the same regardless of languages so it would be a start to do things that sorting lists, printing, handling variable, lists and arrays.

 

JAVA would be the next one.

Link to comment
Share on other sites

you might want to look at this as a resource:  http://en.wikipedia.org/wiki/Android_software_development

 

If you have never programmed before and want to learn to program first I would suggest you look at PERL and  Tcl

 

they are script based programming languages and tend to be free. A lot of the fundamentals are the same regardless of languages so it would be a start to do things that sorting lists, printing, handling variable, lists and arrays.

 

JAVA would be the next one.

 

All of this, but especially the part in bold.

 

I have an Honours Degree in Computer Science and the reason I explained why I won't be as helpful as others is because I got lazy and stop caring about programming. I really enjoyed it in school but I just lost interest in my final year of school, as I had already been accepted in to Uni. When I got to Uni, my interest was still low. I did enough to pass my programming courses but enjoyed others aspect of development, such as analysis or design. That's what I expected to go for when I left Uni. The problem with my programming attitude during Uni is that I can't remember writing in all these lanaguages. I can't remember how they differ or where you would use one over another. They taught me, I listened enough to pass and then I forgot. Everything. 

 

I got lucky with my current job as I was put on a programming course before I started. It was like being a noob again, and although some of it came back to me, it was a bit of a struggle. It still is. Programming isn't easy but get the basics down correctly and you'll be going in the right direction. Anyhoo, little life story and a little boring but just wanted you to know why you wouldn't want career advice from me for programming.

 

The other reason is that I don't code in a very "modern" lanaguage. I'm currently coding in COBOL, created 40 or 50+ years ago, and still going strong, in banking anyway. It is fantastic at number crunching.

 

I'll pop back in this thread if you have any questions about basics, or if you have examples you want to work through. Also interested to see what other advice people give you. Good luck with it.

 

For the record, I'm enjoying programming again.

Link to comment
Share on other sites

So you know Kent, I have a PhD in electrical engineering and I do a lot of programming as well. I've also taught programming in college (over 20 years ago). I've programmed in 10 different languages (that I can think of anyways).

 

My suggestions are based on a novice wanting to learn to program. I wouldn't recommend attempting some of the "sexier" more modern languages until you are comfortable with the programming.

 

the two languages I suggested do not require a compiler which speeds things up considerable as you are simply trying to learn

 

If you do want to start with a useful "structured" language then C++ it the one to do. 

 

Patrick

Link to comment
Share on other sites

I took programming in high school. My teacher sucked. He handed us a big book and told us to make such and such everyday. Didn't teach us nothing and when you asked him a question.... LMAO well.... I guess I shouldn't expect much from a washed up football coach.

Because of this I absolutely hated programming. Too many hours of headaches.

tumblr_m2ienvKRMM1qfbvj1.gif

Link to comment
Share on other sites

I didn't notice this thread till now, sorry for that.

 

  • All of us will have wildly different answers for you, so be prepared to get conflicting tales of how hard one is over the others.
  • What do you want to do? Do you want to make web pages and do server side coding? Do you want to write Windows applications, Mac Apps, Android OS apps, Movie's, games, etc....?
  • How strong are you in math?

 

My evolution through programming was pretty typical for my time, but I doubt it would be typical today. So I don't really want to tell you how I learned all this crud.

(Dylan is a good example of someone learning programming today. Kid is starting with Java by building Minecraft servers and playing with the Mods in there. )

 

 

As far as books:
http://www.wrox.com/WileyCDA/

 

They write the best books out there.

 

I am not nearly as good at coding applications (Phone, or Desktop) as I am at DBA level crap. These days I am honestly just a SQL script monkey.

 

If I had to do it all again, I would stay away from the following languages at the beginner level:

  • CGI/PERL - No, just no, Seriously. To this day I cannot code in CGI/ PERL. Everyone says its beginner friendly, but its not really. Go do PHP if you really have to
  • ActionScript - While I am not sure if its 100% dead, lets be honest here, When was the last time anyone played a Flash game, or ran a flash Movie. HTML5 drove the last nail into this languages coffin
  • Fortran - Old as balls, my mom learned this back in the 80's, Very few use it, very few resources. Those that do use it can make decent money, but I never found it to be worth the headache
  • Cobol - See above, Sure you can make decent money, but the headache is nuts at the beginner level
  • PHP - Start with HTML and Java instead, come back to this. You (Everyone) should learn it, but don't' start with it.
  • AS/400 CL - I got pushed off on learning this for a job I had in Chicago..... Steer away until you have a few years under your belt.

 

Things to look into at the beginner level:

  • JavaScript (This is not the same as Java) - I found this easier to learn to be honest, also, it helped me pick up Java (I have heard others reverse the order of what they learned)
  • C (Note this is the base C programming language, it is not C# or C++, With this you will have a basis for loads of other langauges, also there is ssssoooo much documentation out there that you shouldn't have many issues)
  • MySQL - Everyone should attempt to learn how databases work. MySQL is a great way to do that. Its really easy and straightforward, but can grow more complex as you grow as a user
  • HTML4/5 - Honestly, start off with some really basic Hello World pages and then move on. Everyone has to cut their teeth somewhere.

 

Tools to help you:

Notepad ++ is a great tool for reading code, its Windows Notepad on steroids.

http://notepad-plus-plus.org/

 

This website:

http://stackoverflow.com/

 

Lastly for now:

 

Start a series of cheat sheets, or even a google drive and store little chunks of code in it. You will find yourself developing your own flavor of coding as you learn more and more. By saving these little code chunks you will save yourself headache in the future.

 

Do NOT try to reinvent the wheel, find code that works, and then steal it. Seriously, we all do it.

T. S. Eliot, who in 1920 wrote “Immature poets imitate, mature poets steal”, really nailed it down. Find something that someone else did really well, and drop it in your tool kit so you can in turn use it. just be sure you understand why the code works how it does.

 

Example of one I swiped back in November, that has saved my ass more than I care to admit.

This is SQL, so I will explain it later, if you want me to. But seriously, this has gone into all teh code I have written in the last few weeks. Before finding this, I was writing several dozen lines of "Case" Statements to perform the same thing.

 

How to handle divide by Zero/Null:

 

declare @1 float
declare @2 float

 

It doesn’t matter the Data type, so Float, Int, Decimal, all work (I didn’t try all the various flavors of Integers though, such as BigInt, Small Int, Tiny Int, but I assume it would work for them as well)

 

set @1 = 50
set @2 = 10

/*Change the values above to whatever you want, yes, including 0 or '' to verify this*/

/* This is what you want right here, just plug in your variables as you need them*/
select (isNull((@1 / NullIF(@2,0)),0)) as [Ratio]
 

 

 

Luke 23:34
'And Jesus said, "Father, forgive them, for they don't think it be like it is, but it do."

Link to comment
Share on other sites

Do NOT try to reinvent the wheel, find code that works, and then steal it. Seriously, we all do it.

 

This.

 

I have no ego when I'm asked to code something new. If I think someone else has done something before, I'll take it. It's a huge time saver and can often save you from re-testing (assuming you don't change it). As Sennex says though, you have to understand what you're taking as even the slightest change to a block of code, if you don't know what you're amending, can cause huge issues.

Link to comment
Share on other sites

The only thing I don't like about codeacademy is if you're learning Python, they teach version 2.7, not 3.x. Unless you're dealing with legacy code, Python 3 is the way to go.

If you decide to put your dick in crazy, be ready to change your phone number and relocate.

Link to comment
Share on other sites

The only thing I don't like about codeacademy is if you're learning Python, they teach version 2.7, not 3.x. Unless you're dealing with legacy code, Python 3 is the way to go.

 

Agreed 100%

 

Legacy code is good to learn, but as an after to whats being used currently.

Luke 23:34
'And Jesus said, "Father, forgive them, for they don't think it be like it is, but it do."

Link to comment
Share on other sites

I might have some WROX books on PDF, let me sort through my kindle later and I can share them if I still have them

Luke 23:34
'And Jesus said, "Father, forgive them, for they don't think it be like it is, but it do."

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy