Shine 144 Report post Posted August 16, 2013 (edited) Hello all, I've been getting more into Lua lately, and I want to learn more about programming. I have never actually made a program, although I do know some commands. I only used Lua in addons sofar, this is the reason I got more into it. Now, I want to learn programming may be a bit vague. in particular I want to learn how to make addons for WoW (which I assume will result in me knowing how to addon other games aswell) I also would like to make websites using programming, but not any time soon. So my question is, does anyone know of any way for me to learn programming. I do not have money to follow a course for it. I have been browsing internet a little, but maybe some of you happen to know of a site that can help me. Or maybe some good soul will even take me under his/her wing. concider me a total noob, that knows nothing. I hope someone is able to help me. Cheers Shine P.S. It might appear as if I am planning to help with this site, maybe I will want that in the future, but not now. This post appears just as I heard IV is looking for development and although I do not want to help now, the post did make me think more about programming and it made me decide I want to learn it. Edited August 16, 2013 by Shine Quote Share this post Link to post Share on other sites
Marco 51 Report post Posted August 16, 2013 The first thing to realize is that programming is a tough skill to acquire for most people. Coming into this field with the wish to program an addon for WoW or a mod for Minecraft is often, sadly, accompanied by impatience. This led to some curious constellations back in my Minecraft modding days, where there were modding guides that gave the impatient code to copy and paste; but not always the full explanation, resulting in so trivial help calls on the forums that I don't know how the moderators of that forum handled this. Basically, the rule is to learn walking first before trying to run, and starting with addon or plugin development is like trying to run a marathon on crutches - Let's say it's hard, though I have not tried it myself. Anyways, if you want to start programming, it is best to start with a language that is statically typed, from my perspective at least. I won't go into discussion why, and by all means, feel free to disagree with me, but the concept of types is fundamental to programming and should be learned from day one in a strict manner. lua is not a statically typed language and is also quite simple to the point where it almost appears to be stripped down (which is not necessarily a good thing in the context of learning to program, opposed to the value simplicity gives when used for scripting simple things likes interfaces), so I won't advise starting with it. In my opinion, Java is a very good language for beginners. If you are into Minecraft, you could try vswe's tutorial on Java and modding, which will give you also a slight insight into the system. The tutorial is divided into video lessons and is targeted at absolute beginners. There are also sites like Codecademy that attempt to teach you programming, but this site only teaches dynamically typed languages. I have tested neither of these suggestions, but it might be a starting point. Feel free to add me on Skype or send me a PM if you need advice. :) Quote Share this post Link to post Share on other sites
Storm 426 Report post Posted August 16, 2013 Codecademy is an awesome resource if you happen to want to learn one of the languages they offer (mostly scripting languages and other web based languages) If all you care about is making wow addons then you need to learn LUA, and also the WoW API. I tried to learn LUA a few years ago because I wanted to make addons for Rift, but I never really followed through with it. It's a difficult language to find information on, but there are resources out there. Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted August 17, 2013 The first thing to realize is that programming is a tough skill to acquire for most people. Coming into this field with the wish to program an addon for WoW or a mod for Minecraft is often, sadly, accompanied by impatience. This led to some curious constellations back in my Minecraft modding days, where there were modding guides that gave the impatient code to copy and paste; but not always the full explanation, resulting in so trivial help calls on the forums that I don't know how the moderators of that forum handled this. Basically, the rule is to learn walking first before trying to run, and starting with addon or plugin development is like trying to run a marathon on crutches - Let's say it's hard, though I have not tried it myself. I kinda figure that people think lightly about it, and I wish to assure you I have quite an idea of how big a concept programming is. I want to thank you for your advise concerning the learning of a static language as a priority over a dynamic one. I did not know this and will certainly start from there. I will check out the links and find my way up. If I ever need anything, I shall PM you ^^ Cheers Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted August 17, 2013 (edited) I am now checking out Codecademy and I must say I love it. Now learning HTML, ty for the tips the VSWE's tutorial was confusing imo. Didnt really know where to go. Edited August 17, 2013 by Shine Quote Share this post Link to post Share on other sites
Marco 51 Report post Posted August 17, 2013 I am now checking out Codecademy and I must say I love it. Now learning HTML, ty for the tips the VSWE's tutorial was confusing imo. Didnt really know where to go. You can check out vswe's videos here: http://courses.vswe.se/videos.php :) While HTML is certainly a great start, and I advise you to learn it, as a side note, it is not a programming language in the usual sense, but a markup language. Basically, HTML can not "calculate", which disqualifies it as a programming language. It is used for presentation of websites, of course, hence markup. :) Also, I advise you to keep away from PHP, it is a slap in the face of every language designer and programmer. If you want to continue using Codecademy, I'd advise you to learn Ruby or Python, they are well defined languages. Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted August 17, 2013 I was checking at the options there and my eye did fall on Ruby. Thank you for that last link. I am unsure how large html is in total, I find I've learned quite alot in quite little time. so I'm just gonna keep doing these things, and test myself occasionally. maybe in the future someone can make me a request so I can check if I'm skilled enough. but that's not for now ^^ thankx alot, I now have a place to start. Quote Share this post Link to post Share on other sites
Storm 426 Report post Posted August 19, 2013 (edited) Your path through the programming languages should be determined by what you want to accomplish in the end. If your goal is web development then I would recommend HTML -> CSS -> Javascript -> PHP. HTML and CSS are almost one and the same. as Marco pointed out, HTML is a markup languag not a programming language, it's just tags like: bold <b>, underlined <u>, etc. that modify how text is displayed on a website. CSS is basically a way of taking HTML properties and consolidating them into a single file with tags so your entire website can have a uniform look. Javascript would then be your next step. Javascript as the name implies is a scripting language. It allows for logic and calculations and gives you a fair amount of power for making web based applications, however, Javascript is run 100% in the browser which creates a lot of limits. However Javascript is great for making simple web based applications like a Talent calculator. PHP would be your last course in web based languages and is very powerful. PHP is run server side so it can be used to access databases and other files on the server. PHP works great with SQL, and as a matter of fact the most common backbone internet message boards is PHP Bulletin Board. If you want to save data to a server, retrieve the information, modify it, and then display it PHP is the way to do it. On the other hand, if you'd like to program desktop applications then i would recommend discarding all of the above, including HTML and starting with Python. It's a fairly simple language to learn as a first programming language. and it's very powerful, and very popular in the open source community. Edited August 19, 2013 by Storm Quote Share this post Link to post Share on other sites
Pandrel 2 Report post Posted August 19, 2013 Hi Shine, I'm a professional developer of ten years and a computer science major; I've built everything from webpages to distributed analytical engines. All of the advice you've been given is good, and you won't go far wrong with any of it. That said, I also strongly advice you to start with Python. Python is dynamic language which is suitable for a first time developer. It starts very simply and modestly but will later allow you to things from building dynamic websites to authoring full fledged applications. Eve online for example is written in stackless python. It's also a beautiful language. As a poster has said above, HTML isn't really programming. It's more like data entry or formatting; the programmatic skills behind web development are almost entirely separate. It won't hurt, but you won't learn too much by doing it. Good luck to you, and let us know how you get on! Quote Share this post Link to post Share on other sites
Marco 51 Report post Posted August 19, 2013 Your path through the programming languages should be determined by what you want to accomplish in the end. If your goal is web development then I would recommend HTML -> CSS -> Javascript -> PHP. HTML and CSS are almost one and the same. as Marco pointed out, HTML is a markup languag not a programming language, it's just tags like: bold <b>, underlined <u>, etc. that modify how text is displayed on a website. CSS is basically a way of taking HTML properties and consolidating them into a single file with tags so your entire website can have a uniform look. Javascript would then be your next step. Javascript as the name implies is a scripting language. It allows for logic and calculations and gives you a fair amount of power for making web based applications, however, Javascript is run 100% in the browser which creates a lot of limits. However Javascript is great for making simple web based applications like a Talent calculator. PHP would be your last course in web based languages and is very powerful. PHP is run server side so it can be used to access databases and other files on the server. PHP works great with SQL, and as a matter of fact the most common backbone internet message boards is PHP Bulletin Board. If you want to save data to a server, retrieve the information, modify it, and then display it PHP is the way to do it. On the other hand, if you'd like to program desktop applications then i would recommend discarding all of the above, including HTML and starting with Python. It's a fairly simple language to learn as a first programming language. and it's very powerful, and very popular in the open source community. I would strongly recommend staying away from PHP. That language is, simply put, an abomination that basically uses an on-the-fly prototyped language design that turned into a massive thing which should never have been massive. Consistency, a very important concept in software development, is almost non-existent; Indeed, it is rather a heap, even mess, of functionality. But I think Jeff Atwood can explain that better than me: http://www.codinghorror.com/blog/2012/06/the-php-singularity.html There are many alternatives to PHP. I would also not say that a language that is used for desktop applications should not be used for web development. For example, Java and Scala are perfectly fine and run on many servers. Ruby is a beautiful language, and performance-wise roughly on par with PHP. Python can also be used for web development. While I would not write a web application in C++, you might even give Go a go - although the language has arguably some hiccups. Even Javascript or one of the many dialects (Like Coffee Script, Typescript, Dart) can be used for web development with node.js. There are so many good choices, why choose an inferior and inconsistent language? 1 Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted August 19, 2013 Hi all, I currently finished the coarses for HTML and CSS. I must agree that HTML is not really programming, I do find it usefull to know. I now understand the basics of html and css quite well. I wanted to move onto ruby, but I will save that for after python since you all seem to think that's better to start from. my main goal is writing programs (or altering them) and therefore I will not go further into javascript and PHP for now. I will probably do this in later stadiums of learning to program. Once I finish learning and want to test out my skills I will let you know, so you can help me and give me pointers where needed, Cheers. Shine 1 Quote Share this post Link to post Share on other sites
LLoydizle 2 Report post Posted August 19, 2013 If you wanna learn programming then you would first need to learn the methodology as well as the fundamentals of it. Programming is not as easy but once you have the grasp of it, it becomes smooth sailing. You also need patience. Programming can often involve trial and error and people often assume that doing it wrong is a bad thing but instead it can be a learning curve. If you wanna learn programming, I would say start from the basics. I started on QBasic, then Java, then C++ then C++ with Direct X and Open GL (GLUT) and i'm still learning along the way as I still have a long way to go. I had to learn the fundamentals and the methodology of them before I could start. Start your code slowly. Simply showing an output saying "hello world" in command prompt is a big thing and it shows that you understand. If you make mistakes in your code along the way, its never a bad thing, you can learn from it. Once you are comfortable with creating little things such as an output, go bigger but my small steps. Try creating a little game on command prompt like hangman. When you get comfortable with that, learn how to start making user interfaces or create models. If you wanna go into 3D, learn vectors, matrices and learn about X,Y,Z Axis (it seems simple but they work differently in some programming languages). Take it one step at a time, and depending on what language u wanna learn, you can always find guides on Google and Youtube. Hope this helps :) Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted August 19, 2013 If you wanna learn programming then you would first need to learn the methodology as well as the fundamentals of it. Programming is not as easy but once you have the grasp of it, it becomes smooth sailing. You also need patience. Programming can often involve trial and error and people often assume that doing it wrong is a bad thing but instead it can be a learning curve. If you wanna learn programming, I would say start from the basics. I started on QBasic, then Java, then C++ then C++ with Direct X and Open GL (GLUT) and i'm still learning along the way as I still have a long way to go. I had to learn the fundamentals and the methodology of them before I could start. Start your code slowly. Simply showing an output saying "hello world" in command prompt is a big thing and it shows that you understand. If you make mistakes in your code along the way, its never a bad thing, you can learn from it. Once you are comfortable with creating little things such as an output, go bigger but my small steps. Try creating a little game on command prompt like hangman. When you get comfortable with that, learn how to start making user interfaces or create models. If you wanna go into 3D, learn vectors, matrices and learn about X,Y,Z Axis (it seems simple but they work differently in some programming languages). Take it one step at a time, and depending on what language u wanna learn, you can always find guides on Google and Youtube. Hope this helps thank you for those kind words. I think that I might be a step ahead here. in general, I know what programming does and a little of how it works, as to the language lets say I know how it's spoken, yet I do not know the words. I understand the basics of strings, and how you can assign certain values to elements. I only did not know what to write or how to use it. codecademy is perfect for starting slowly imo. I've dont html and css with it and really do think I understand alot. even though I might not know it all, i do know how certain things are done, and when introduced to a new phrase I find it works in the same way. this makes it easier, and as you said, once you get a grasp on it, it becomes easier. I notice in python things work alot differently, but I understand that, and was kinda expecting it too. what you said about 3d, I am a mathmetician/scientist (I am only 21 years old tho) but I have learned alot about vectors and x, y, z axis. this will probably help me out here and there, but I will probably need to get deeper into that. thanks for your kind words and valuable info. Shine Quote Share this post Link to post Share on other sites
Damien 1,514 Report post Posted August 20, 2013 You mentioned Ruby in your posts. I'm a huge fan, so if I can be of any help, do not hesitate to ask. That said, there isn't really a notion of types in Ruby and that can be detrimental to you, as a beginner. I think that you should start with a very strict language (why not a functional language like Caml or Haskell, if you're more of a math person). That will give you good coding habits. Personally, I started with C. Quote Share this post Link to post Share on other sites
LLoydizle 2 Report post Posted August 21, 2013 (edited) thank you for those kind words. I think that I might be a step ahead here. in general, I know what programming does and a little of how it works, as to the language lets say I know how it's spoken, yet I do not know the words. I understand the basics of strings, and how you can assign certain values to elements. I only did not know what to write or how to use it. codecademy is perfect for starting slowly imo. I've dont html and css with it and really do think I understand alot. even though I might not know it all, i do know how certain things are done, and when introduced to a new phrase I find it works in the same way. this makes it easier, and as you said, once you get a grasp on it, it becomes easier. I notice in python things work alot differently, but I understand that, and was kinda expecting it too. what you said about 3d, I am a mathmetician/scientist (I am only 21 years old tho) but I have learned alot about vectors and x, y, z axis. this will probably help me out here and there, but I will probably need to get deeper into that. thanks for your kind words and valuable info. Shine No problem, glad I can help. :) Maths can help and can be a big role in programming (especially on the gaming side of programming) so once you get use to programming, it will be easy for you especially when you have maths in hand. Im doing a degree in games development and both Algebra and Calculus played a big role to help me with programming! Another thing I forgot to mention is try Psuedocode (I think i spelt that right lol) Psuedocode is a basic breakdown of a program You wish to create. So say if you want to create a piece of code that allows a user to input any type of text to show on the screen you can do this in psuedo: - user types in a word - word is stored in variable - variable is shown on screen Thats basically Psuedocode and you can write it up in any way you find it most comfortable for yourself. It basically breaks down a piece of code that you wish to create to a step-by-step of what you need to do and it can be really helpful. :) Edited August 21, 2013 by LLoydizle Quote Share this post Link to post Share on other sites
Omega 3 Report post Posted October 8, 2013 Like damien, (It made me try the ruby, now I'm a fan: p) i started with C . Start with a low level programming language (http://en.wikipedia.org/wiki/Low-level_programming_language) can be helpful to understand some memory management concept and advanced tips. Mathematics can be very important in financial software / 3D Programming and some other subjects :) And lloyd i think you were talking about "Pseudocode" and not "Psuedocode" Quote Share this post Link to post Share on other sites
Shine 144 Report post Posted October 8, 2013 yep, definately pseudocode (although I can imagine you'd want to write it as psuedo) I googled it to make sure ^^ About the programming, I finished the Codecadamy for Ruby, I do find it a bit confusing so I'll probably do it again. I am a bit short on time nowadays so it will have to wait. Quote Share this post Link to post Share on other sites
JK123 0 Report post Posted October 22, 2021 Thanks for the discussion. I also want to start my career in programming and searching for a good source. Quote Share this post Link to post Share on other sites