Haydos Posted 24 May 2014 Share Posted 24 May 2014 Morning folks, sorry if there's a topic on this already, search function's a bit rubbish sometimes. I'm interested in learning a programming language. Just the one to start with but I would be keen to go further once I have the basics. Before kicking off I want to cover all the bases and while I'm pretty handy with computers I know next to nothing about programming languages or coding. I learn better by doing so I think I'll try and find some youtube tutorials and subsudise that with reading more about programming languages and coding in general. The main issue is that I'm not sure where to start, I've read a bit online and obviously there's lots of answers based on different things (What you want to do/why you're doing it etc). The reason I want to do it is firstly something productive in my spare time and secondly I'm not sure what I want to do career-wise and there seems to be a demand in this field. So, your opinions, where would be a good place to start? I would like learn the basics and try and understand the logic behind it all first so a language that applies to would be good. Various places have said Python because it's easier but it doesn't seem like it would give the best understanding. *filbertway....time to shine! Link to comment Share on other sites More sharing options...
lavrentis Posted 24 May 2014 Share Posted 24 May 2014 I'm a grad programmer after doing 3 years in Computer Science, it depends what you want to be able to do, app development? websites with a back end, PC app development? I would say now, learn the principles of OO development, learn concepts like encapsulation and polymorphism which are fundamental to OO. As well as good design patterns like M-V-C. Then, once you understand these, you can apply a programming language. I think to enforce good practice, try a strongly typed language such as Java or maybe C# first. Once you get "good" at a certain programming language, normally you can easily switch between a few as the syntax is quite similar. Then when you go to dynamically typed languages such as PHP, you can apply these good practices, because PHP is so flexible bad habits can occur Personally I'm not sure i'd learn Python to start but if its what you want go for it Edit: SQL is also worth knowing, it really is applied to so many things Link to comment Share on other sites More sharing options...
Haydos Posted 24 May 2014 Author Share Posted 24 May 2014 I'm a grad programmer after doing 3 years in Computer Science, it depends what you want to be able to do, app development? websites with a back end, PC app development? I would say now, learn the principles of OO development, learn concepts like encapsulation and polymorphism which are fundamental to OO. As well as good design patterns like M-V-C. Then, once you understand these, you can apply a programming language. I think to enforce good practice, try a strongly typed language such as Java or maybe C# first. Once you get "good" at a certain programming language, normally you can easily switch between a few as the syntax is quite similar. Then when you go to dynamically typed languages such as PHP, you can apply these good practices, because PHP is so flexible bad habits can occur Personally I'm not sure i'd learn Python to start but if its what you want go for it Edit: SQL is also worth knowing, it really is applied to so many things You might be going a bit over my head there. I have literally zero experience coding so i need to learn the key principles first I think along with very basic language and how the inputs cause the outputs. Explanations for some of the things you mentioned use other words which I'm yet to know the meaning of Link to comment Share on other sites More sharing options...
xHamzah Posted 24 May 2014 Share Posted 24 May 2014 I'd recommend Python, VB.Net or Java Link to comment Share on other sites More sharing options...
Stuliasz Posted 24 May 2014 Share Posted 24 May 2014 Think Java is an excellent starting point. You'll learn many of the concepts lavrentis mentioned along the way. Link to comment Share on other sites More sharing options...
Haydos Posted 24 May 2014 Author Share Posted 24 May 2014 Think Java is an excellent starting point. You'll learn many of the concepts lavrentis mentioned along the way. Yeah, java seems to be mentioned a fair bit for beginners, considering that at the mo. Link to comment Share on other sites More sharing options...
lavrentis Posted 26 May 2014 Share Posted 26 May 2014 You might be going a bit over my head there. I have literally zero experience coding so i need to learn the key principles first I think along with very basic language and how the inputs cause the outputs. Explanations for some of the things you mentioned use other words which I'm yet to know the meaning of Aye sorry about the keywords If you want a job though, at least in the brief experience I've had in searching for one I will just emphasize about code design. I would reccomend downloading eclipse (with the necessary JRE) and having a go at a few simple programs. Once you are fairly familiar with the syntax, I would say look at OO in more detail. Java is great for this. It helps to understand UML (A way of visually designing code so you can create classes based from it). And Unit testing, JUnit for Java, PHPunit for php etc Link to comment Share on other sites More sharing options...
Trumpet Posted 26 May 2014 Share Posted 26 May 2014 I did Python last year and I'm now on to c++ in my first year of a degree. Personally i'd say Python really helped me with the basics. Link to comment Share on other sites More sharing options...
nothin2seehere Posted 27 May 2014 Share Posted 27 May 2014 I would very much like to see Java die a slow, painful death. It's a horrible environment to use as an end-user, full of security holes, updates almost once a week, it's ugly, etc etc, Half the management tools I used for my job (IT sysadmin, to keep it brief) are built in Java, and I blanch every time something else needs it. However, I won't recommend anything else apart from what I've used, as I'm not a programmer*. I just download Visual XX from Microsoft and follow the tutorials. You don't need to know how an engine runs to change the windscreen wipers, and if that's an acceptable anaology, you don't need to know all about the fundamentals of programming just to create a really simple app that makes a pop up box. You might hate the theory before you've even written a line a code, but that in itself is quite addictive * I wrote a Win32 GUI SMTP/POP3 client for my Computer Systems HND when I was younger, using Delphi, which is Object Pascal. No longer around, but I had great fun for about a year. Link to comment Share on other sites More sharing options...
danny. Posted 27 May 2014 Share Posted 27 May 2014 Java is horrible - BUT, for a first language to learn, it's not a bad choice - it's way simpler and more abstract (that's actually good as it means it's simpler, not harder as you might think) than stuff like C or C++ and gives you a good idea of how Object Orientated languages work Link to comment Share on other sites More sharing options...
lavrentis Posted 27 May 2014 Share Posted 27 May 2014 Java is horrible - BUT, for a first language to learn, it's not a bad choice - it's way simpler and more abstract (that's actually good as it means it's simpler, not harder as you might think) than stuff like C or C++ and gives you a good idea of how Object Orientated languages work I prefer less abstraction tbh (unless you built it yourself) as I like control but you're right as to not re-inventing the wheel. Agree that Java is generally terrible as well Link to comment Share on other sites More sharing options...
Fox92 Posted 27 May 2014 Share Posted 27 May 2014 Aye, SQL is decent and something I picked up fairly quick. Used that to create the backend of an e-commerce website for a project. Trying to continue with PHP now, only got introduced to it at uni this year but want to smash some out over the summer so I'm in a decent position when I get back in September. Link to comment Share on other sites More sharing options...
Trumpet Posted 27 May 2014 Share Posted 27 May 2014 Aye, SQL is decent and something I picked up fairly quick. Used that to create the backend of an e-commerce website for a project. Trying to continue with PHP now, only got introduced to it at uni this year but want to smash some out over the summer so I'm in a decent position when I get back in September. Everybody say's that, including myself.. Link to comment Share on other sites More sharing options...
Fox92 Posted 27 May 2014 Share Posted 27 May 2014 Everybody say's that, including myself.. Did it work? Link to comment Share on other sites More sharing options...
Trumpet Posted 27 May 2014 Share Posted 27 May 2014 Did it work? It never, ever happens Link to comment Share on other sites More sharing options...
lavrentis Posted 27 May 2014 Share Posted 27 May 2014 Aye, SQL is decent and something I picked up fairly quick. Used that to create the backend of an e-commerce website for a project. Trying to continue with PHP now, only got introduced to it at uni this year but want to smash some out over the summer so I'm in a decent position when I get back in September. I do PHP and SQL as part of my job now so if ya need any help just ask me. Link to comment Share on other sites More sharing options...
Lobsterboyuk Posted 3 June 2014 Share Posted 3 June 2014 Javascript would be a great way to get started and has a bright future for somebody starting out. Just fire up your browser and get to jsbin.com to get started. Then pull on board HTML and CSS and you've got a realistic chance of earning moolah. Python is a great shout and opens the door to PHP and the bazillion open source frameworks and again has a chance of being a money spinner within a sensible amount of time but IMO has had it's day and might not be the best prospect for a complete newbie. Unless you're a hardcore nerd like me and will invest 10,000 hours (or thereabouts) don't waste your time with Java, C++, .NET etc, would take many years to be employable realistically unless you're a top end Comp Sci grad - very well paid but very competitive and unless you're a star you'll struggle to get work with most simpler coding now done offshore -not by relatively expensive local coding talent. Link to comment Share on other sites More sharing options...
Lobsterboyuk Posted 3 June 2014 Share Posted 3 June 2014 I would very much like to see Java die a slow, painful death. It's a horrible environment to use as an end-user, full of security holes, updates almost once a week, it's ugly, etc etc, Half the management tools I used for my job (IT sysadmin, to keep it brief) are built in Java, and I blanch every time something else needs it. However, I won't recommend anything else apart from what I've used, as I'm not a programmer*. I just download Visual XX from Microsoft and follow the tutorials. You don't need to know how an engine runs to change the windscreen wipers, and if that's an acceptable anaology, you don't need to know all about the fundamentals of programming just to create a really simple app that makes a pop up box. You might hate the theory before you've even written a line a code, but that in itself is quite addictive * I wrote a Win32 GUI SMTP/POP3 client for my Computer Systems HND when I was younger, using Delphi, which is Object Pascal. No longer around, but I had great fun for about a year. Delphi was the dogs bollocks, Anders Hejlsberg is at Microsoft now working on a higher level CoffeeScript competitor called TypeScript. C# was his baby as well and I much prefer it to Java/J2EE if you want an enterprise grade development platform - pays the bucks if you can work the magic... Link to comment Share on other sites More sharing options...
Stadt Posted 4 June 2014 Share Posted 4 June 2014 Type code academy into google Link to comment Share on other sites More sharing options...
Lobsterboyuk Posted 21 June 2014 Share Posted 21 June 2014 Stumbled across this and fits well with this thread: http://norvig.com/21-days.html Link to comment Share on other sites More sharing options...
Fox92 Posted 21 June 2014 Share Posted 21 June 2014 Ironically, you'd think he'd style the page better! Link to comment Share on other sites More sharing options...
Fox92 Posted 21 June 2014 Share Posted 21 June 2014 I do PHP and SQL as part of my job now so if ya need any help just ask me. Also, Lavrentis, how long did it take you to learn PHP? Do you consider yourself a "master" as such? Like I said, I've only just started with it. I can do the basics - printing, numbers, strings, variables - but this book I've got really looks as if it starts to get much complicated. Link to comment Share on other sites More sharing options...
lavrentis Posted 25 June 2014 Share Posted 25 June 2014 Also, Lavrentis, how long did it take you to learn PHP? Do you consider yourself a "master" as such? Like I said, I've only just started with it. I can do the basics - printing, numbers, strings, variables - but this book I've got really looks as if it starts to get much complicated. I wouldn't call myself a master by a long shot, I still don't know much compared to guys with 10+years experience plus I am noticably slower then those. A good thing about programming languages is that once you get the basic idea and the structure you can more easily switch. Why are you choosing PHP ? Link to comment Share on other sites More sharing options...
Fox92 Posted 25 June 2014 Share Posted 25 June 2014 I wouldn't call myself a master by a long shot, I still don't know much compared to guys with 10+years experience plus I am noticably slower then those. A good thing about programming languages is that once you get the basic idea and the structure you can more easily switch. Why are you choosing PHP ? Well one of my projects last year was based around PHP and MySQL. I think I'll probably be doing more next year, either way, I want to try and learn at least the basics before going back. Link to comment Share on other sites More sharing options...
lavrentis Posted 25 June 2014 Share Posted 25 June 2014 Well one of my projects last year was based around PHP and MySQL. I think I'll probably be doing more next year, either way, I want to try and learn at least the basics before going back. I would emphasise learn the concepts of OO and try to learn OO php. Procedural is okay-ish but learn OO Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.