Coding for the first time

Hi,
Over the last few years i have had a growing curiosity on what it's like to code.I am a 40 yr old IT consultant with no previous coding experience. I enjoy problem solving and troubleshooting so i am hoping to get some fun out of the new world (to me) of coding. My main issue is that with so many languages out there i dont know where to start. I would like to start with one that's easy for beginners to get into and yet relevant. A language that could open opportunities 10 yrs down the line, should i wish, though the main motivator here is enjoyment.
Any pointers and links would be gratefully received.

Thanks
Dominic
DominicIT ConsultantAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Lee SavidgeCommented:
Much depends on what you want to do in terms of coding. That often defines the language chosen  and used. Pick a platform, say Linux, Windows, Mac OS. I would start with the platform you're most used to using, probably Windows? If so, then the most common languages for Windows or Web dev are Java, C#, VB.NET. If you want to learn database programming, you'd need to know SQL, so use MS SQL Server and learn T-SQL. If you want to learn clientside programming on the web then you'll need to get your head around HTML, CSS and Javascript.

Start small. Find the classic "Hello World" programs in the language you choose and work from there. W3Schools is a good place to start with simple concepts. There are basic concepts to learn (in no particular order).

1. Variable assignment
2. Function calling
3. User input handling
4. Error handling
5. Looping
6. Conditional branching
7. File handling
8. Output handling

Then you can move onto object oriented programming, but start small. Get those 8 things sorted in whatever language you choose and you'll be able to get started. Not every language has built in handling for one or many of the above things.
1
Rajul RajInformation Security OfficerCommented:
  • 1. Python

  • Certainly, the easiest coding language to learn for the first time learners is Python. Developed in the 80s, Python is open source and free to use, even for commercial applications. It is usually used and referred to as a scripting language, allowing programmers to roll out huge quantities of easily readable and functional code in short periods of time. Further, it’s also dynamic, and supports object-oriented, procedural, and functional programming styles, among others. Thanks to its flexibility, Python is one of the most widely used high-level programming languages today.

    There are some great official tutorials which are easy to follow and there is less of an emphasis on syntax which would suit beginners. It is a good stepping stone for moving on and learning other object-oriented languages.

    Python is used by companies such as Google, Yahoo! and NASA. Django is the web application framework written by Python, which powers very popular sites such as Instagram, Pinterest and The New York Times.

    2. Ruby

    Similar to Python, Ruby is simple, readable and for people who don’t have any kind of programming experience. Ruby is a dynamic, object-oriented scripting language that is used in the development of websites and mobile apps. It is the language that powers their framework, Ruby on Rails, which is behind websites such as Twitter, Groupon and GitHub. It is also mostly used for backend development, and popular sites such as Airbnb, Shopify, Bloomberg, Hulu, and Slideshare.

    When learning Ruby, you don’t have to learn a billion new commands, like in some other coding languages. Its developer, Yukihiro Matsumoto, has designed it to be easy and practical.

    It is easy to learn with a helpful 20 minute quick start guide on the official Ruby website. It is straightforward and easy to read with a large community behind it of programmers willing to answer questions. There are a lot of documentation available as well as great resources that will help you to understand Ruby from the very beginning.

    3. JavaScript

    Not to be confused with Java, JavaScript is a primarily client-side scripting language used for front-end development. Java is a programming language while JavaScript is a scripting language. JavaScript is the most commonly used programming language to create cool websites and games for the web. It is dynamic and is flexible to use on object-oriented programming. It derives much of its syntax from The C Language.

    It runs on every single platform and is already in your browser for you to start learning, which means you need not install it. If you want to build anything for the web, then JavaScript must be on your list of programs to learn. However, JavaScript is also known to be a difficult language as it is untyped and thus is difficult to debug.

    If learning JavaScript sounds fun to you, then JavaScript has some of the best online learning material and it lets you start learning straight away.

    4. Java

    Java is one of the most popular and general purpose programming language in the world. Released in 1995, Java 1.0 was based on the principle of ‘Write Once Run Anywhere’. It is a class-based, object-oriented language and designed to be portable, which means that you can find it on all platforms, operating systems and devices.

    Java is usually used to build Android apps, desktop apps, and video games. It is also commonly used as a server-side language for enterprise-level backend development. In addition, it adds to the capabilities of the C++ language. So, if you already have knowledge of C++, it will help with learning Java, but is not necessary. Even though, Java is a slightly complex programming language for the beginners, programmers agree that it can be a very beneficial first programming language to learn. However, it has a fundamental set of core concepts that will help you as you move to other languages and technologies.

    Java programming is a highly sought after skill, as having knowledge of it opens a lot of avenues in terms of employment. If you want to give it a try, go to Learn Java Online and start with the lessons today.

    5. C/C++

    C is often used to program system software and is the lingua franca of Operating Systems. C has influenced almost all programming languages, especially C++. So, if you know C well, you would probably have less difficulty picking up other popular languages. Since C takes more complex code to perform simple tasks, beginners may find it tough to keep themselves motivated if they choose it as their first language. However, knowledge of C will definitely help you as a programmer.

    On the other hand, C++ is a powerful language based on C, which has added object-oriented features like classes to the language, along with virtual functions and templates. C++ is another of the world’s most popular programming languages and is designed for programming systems software. It is still widely used to build games/game engines, desktop apps, mobile apps, and web apps. C++ is powerful and fast, which has been used to build software such as Adobe Systems, Amazon, Paypal, Chrome, and more. Much like C, C++ is generally considered harder for beginners to learn on their own. So, if you decide to learn C++ as your first language, feel free to look for a mentor via Meetups or find a C++ Codementor.

  • https://www.codecademy.com/

  • https://www.techworm.net/2016/03/5-simple-coding-languages-learn-first-time-learners.html
    1

    Experts Exchange Solution brought to you by

    Your issues matter to us.

    Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

    Start your 7-day free trial
    John TsioumprisSoftware & Systems EngineerCommented:
    I am almost on the same boat but i started a bit earlier...my recommendation is to go for the .NET platform..VB.NET is easy and straightforward.....you can code it either as OO (object oriented) or procedural (like the old VB6) so you can start sloppy and gradually get to the next level....trust me coding is more fun than you can imagine....a lot of challenges ...
    0
    Big Business Goals? Which KPIs Will Help You

    The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

    DominicIT ConsultantAuthor Commented:
    Hi Rajul and Lee  - thank you both for your coding tips so far  - much food for thought and will look into the options.

    My experience is by far the most on Windows platform , though i am comfortable with MacOS as well - not Linux though.
    I would prefer to stick with Windows platform if poss though.

    Hi John - What made you choose .NET ? i was about to dabble in that about 6 yrs ago when i was building Sharepoint sites but i didn't pursue.
    Does .NET knowledge help with accessibility to other some languages?
    0
    John TsioumprisSoftware & Systems EngineerCommented:
    Every language you learn will help you with any other language...the most important thing it to get to a level to feel "comfortable" with any language you will choose....from there learning another language it would be much easier...
    0
    Lee SavidgeCommented:
    .NET is the standard platform that Microsoft have developed primarily for Windows but it allows for language independence and interoperbility, and also provides the developer with a very large predefined library of classes which allows you to avoid much of the indepth complex coding that used to be required to develop for Windows.

    Read here for more info: https://en.wikipedia.org/wiki/.NET_Framework

    At the moment, it's best to pick a .NET enabled language as it will make your life easir for application or wwwebsite development. If you're interested in creating utility programs, then pretty much any high level language will do.
    0
    DominicIT ConsultantAuthor Commented:
    Thanks John.
    Hi Lee - when you say ". If you're interested in creating utility programs, then pretty much any high level language will do."
    What would be considered a low level language:?
    0
    John TsioumprisSoftware & Systems EngineerCommented:
    C/C++ and of course assembly can go very Low to get the very best in performance...but coding is much harder...
    Lets says that commercial games are coded solely on C++ with some parts in assembly for further performance enhancement
    0
    DominicIT ConsultantAuthor Commented:
    Thanks all of you for your coding tips - Very helpful  - will likely follow up once i am further down the line!
    0
    It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
    Coding

    From novice to tech pro — start learning today.