Programming First steps to basics of programming?

Discussion in 'Share your own project' started by Dayvon64, Jan 10, 2015.

  1. Denian

    Denian Minor Local Deity of Sarcasm | WebDev Staff Member Administrator Halloween VIP Dark Green VIP Black VIP Young Knight Seasoned Adventurer

    Joined:
    Aug 11, 2015
    Messages:
    152
    Likes Received:
    167
    Gender:
    Male
    Hi everybody,

    this might be, like, really late, but I have to respectfully disagree with quite a lot you said here.

    First of all: The first programming language you learn will be the one you make the most mistakes in, and in which you will acquire many bad habits simply because you don't know better. That's why, in my opinion, it should be one you probably won't be using productively.

    In fact, C, C++, Java etc. are just about the worst languages to learn anything in. Yes, they're good languages, each with their own benefits and drawbacks, but they aren't suitable for learning because of one simple fact: Most of the errors displayed during the first few weeks/months of learning (syntax errors, typos in variable names, etc.) will result in completely unreadable and frustrating error messages. Syntax errors in Java ring any bells? Obscure "Compiler errors" in C/C++?

    Oh, by the way: If you're using Windows, C/C++ don't exist for now. There's VisualC++, which is similar, but it's a separate language (mostly because many functions have different names). If anybody claims differently, they get to explain how to set up the development environment.

    When learning about the basics, forget about all of the compiled languages. Chose some quick and dirty scripting language, like PHP.

    In fact, I really do recommend using PHP because it's just about the worst language there is. It's easy to learn, you can do just about anything (even if you shouldn't), but you also quickly learn why it's important to check just about everything. Like I said, quick and dirty. So if you don't plan to go into web development, in which case you should learn PHP after you have acquired good coding habits and discipline, use PHP as your first "throwaway" language.

    Second: Once you have learned the basics, learn at least two other languages and use those basics. Compare and get a feel for the languages and their quirks; Just like with real languages, you will find that you like some of them better than others. That is just about the only valid criterium for a good language, because, let's face it: You will only truly progress if you are comfortable using your language. Don't let others decide that for you.

    Third: Do several projects. Just, whenever you think of something, do it - even if you spend 95% of the time looking something up, the only way to learn programming is to do it. Make mistakes, because I challenge every programmer out there to contradict me when I claim this: Most of our knowledge, including some of our best ideas, comes from making mistakes, finding limitations of our chosen languages and stubbornly working around them.

    You might even find that you prefer a different language for certain tasks, or (as I do) to write one or two quick and dirty prototypes in one language and do the final work in a completely different language.

    Lastly, you will find that you are better at coding some types of applications than you are at others. There are many branches of programming - data manipulation, simulation, networking, creating user interfaces,... - and just as each of them require the right people, each of them are also easier in some languages than they are in others. That's why you will probably chose your "final" language long after your first.

    TL;DR: Do yourself a favour and chose an easy language (like PHP) first, because you'll chose your "good" language(s) when you actually know what you're doing.
     
    Flying Banana likes this.
  2. Anon

    Anon Black VIP Warlord Veteran Knight Young Knight Seasoned Adventurer Oldtimer

    Joined:
    Dec 20, 2014
    Messages:
    1,467
    Likes Received:
    1,354
    Gender:
    Male
  3. wanted

    wanted Adventurer Adventurer

    Joined:
    Jan 2, 2015
    Messages:
    15
    Likes Received:
    9
    Gender:
    Male
    Coming back from a long programming break. I'm moving into web programming for now. Since I feel it will be the best thing to learn in the programming field. Now knowing what I know with the knowledge I have gained. If you want go to game development. I would learn C#, yes you may not be able to force release your data. But C# has great support from Microsoft to be able to develop games on. Just beware C# does have a saying it goes like this "C# is like a giving you a grenade. Without knowing how to use it.". Microsoft is ensuring that C# will live for a long time with game development. Yes C++ may be quick. You may be able to manage your memory, etc. But when you're programming something that big. As long as it programmed the best it could be, it wouldn't matter what language you would use. There wouldn't be that big of a difference.
     
  4. Dayvon64

    Dayvon64 Adventurer Adventurer

    Joined:
    Jan 1, 2015
    Messages:
    22
    Likes Received:
    6
    Gender:
    Male
    You guys are the best!
     
  5. wanted

    wanted Adventurer Adventurer

    Joined:
    Jan 2, 2015
    Messages:
    15
    Likes Received:
    9
    Gender:
    Male
    We really try to help out the community. I wish I could support developing this game for the community :p
     
  6. Lexeon

    Lexeon Adventurer Adventurer

    Joined:
    Oct 1, 2015
    Messages:
    15
    Likes Received:
    6
    Gender:
    Male
    Something I would add is that the programming languages you use are your tools. Sometimes the languages you know won't be enough to do what you want, so you will have to keep adding these 'tools' to your toolbelt. Programming development isn't just learn a few languages and your set. It's a constant learning experience. Even if you don't continue programming, learning one or two languages will help you become a better problem solver.

    Oh yea, before you start any kind of project, I cannot emphasize enough the importance of breaking down what you want your program to do into steps and writing it down. Planning is one of the most important steps in programming, or any kind of field in that matter.
     
  7. Denian

    Denian Minor Local Deity of Sarcasm | WebDev Staff Member Administrator Halloween VIP Dark Green VIP Black VIP Young Knight Seasoned Adventurer

    Joined:
    Aug 11, 2015
    Messages:
    152
    Likes Received:
    167
    Gender:
    Male
    Learn what you need today and forget what you don't need any longer - not only regarding your tools. As a software developer, you always need to learn new things for every new task, and forget some things you learned previously so your information isn't outdated. It's a job that can be quite taxing for the mind - I'll never be able to count the headaches I got from learning too many things in a single day, or having to disregard conflicting knowledge...

    Yeah, that's development - doing all three parts of a puzzle. First break down the task into pieces, then craft every piece, then fit everything together.

    For me, it's an awesome feeling to understand a new "puzzle piece", though - and, with time, some of those pieces become personalized, a variation that is basically your handwriting when it comes to programming. Every line of code out there carries one developer's fingerprint, in a way, and when you look at it that way, it's awesome...

    Really, most people think software development is a science, but it's really an art. You have to do it to really understand it, not just read about it. You have to live and breathe the art to become really good at it. That's the reason I can't really tell people how to become a programmer - it's learned by immersion, not by simple exposure :)
     
  8. fringie

    fringie Adventurer Adventurer

    Joined:
    Feb 6, 2016
    Messages:
    5
    Likes Received:
    4
    Gender:
    Male
    Personally I get demotivated fast so I decide on a project I want to make then I try to make it with help of online documentation/youtube (lynda is overrated, youtube > lynda). I don't think I'd recommend starting with Unity because you need to learn the framework (Unity) while learning to program which is a bit much and you're more likely to give up if you don't see results fairly fast. The most important thing is keeping your motivation going more than the progress you make imo because if you consistently keep it up your results are much better than short high productivity bursts.

    A big thing for me to getting where I am now was changing my perspective on what I was doing. I used to see programming as an ends to a means (I still kind of do) but now I genuinely want to finish my projects etc to see the products I make, the progress I've made and for my long term financial stability. Having the right attitude will get you far, I'm saying this as someone with the wrong attitude originally so I'm well versed in failure and now I'm doing well for myself :). Good luck!