If you come for the gift, then here it is: https://www.steamgifts.com/giveaway/jBwtu/middle-earth-shadow-of-war

Hello everyone in this kind community! Can I ask you a favor?
I have been here for 2 years but I almost do not participate in most of big activities (so sorry :( ).

A bit of introduction first maybe.I am anti-social, introvert, and stress are a daily things to me. I almost lost the ability to communicate / talking properly without being awkward.

Now let's get to the point. I want to start to learn programming/coding by self-teaching (for my future career). But I don't even know what to do and where to start.
So some of your kind souls please help this desperate, helpless outsider.

Here are some things I'd like to make clear:

  1. What software/program should I download/buy? From free to the most expensive one.
  2. What is the most basic, general skill of programming that I need to learn? (Like kindergarten level of programming)
  3. I want to find a friend that I can share with him/her my games from Humble Choice every month (This month I still have 4 choices left).
4 years ago

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

4 years ago*
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

4 years ago
Permalink

Comment has been collapsed.

Thank you for all of the information ^^

4 years ago
Permalink

Comment has been collapsed.

  1. The question doesn't really apply. Depending on what language you intent to start learning you'll need a different program in order to complile (or run the program if it's an interpreted one), but the pgrogramming/coding itself can normally be done in any plain text editor, even notepad. Also, for many languages the best tools are free so no need to spend money.
  2. Common sense and knowing to take apart a big problem into smaller chuncks.
  3. ?
4 years ago
Permalink

Comment has been collapsed.

What you need to learn depends entirely on WHAT you what to program or code. Do you want to make games, websites, software? Do you want to hack or create? What computer science field are you interested in?

Some of the most basic languages are JavaScript and HTML so that may be a good starting point, though every coding language has a different purpose or style. In my experience, I learned from my mother, who was a university-level computer science professor, and codeacademy.com (back when it was free). I highly recommend taking advantage of their free trial period but there's plenty of online resources that are great AND actually free. Code.org might be useful and I love the FREE videos from Khan Academy: https://www.khanacademy.org/computing/computer-programming. Glitch (https://glitch.com/about) is an awesome and free way to practice coding skills for websites with an interactive and helpful community.

Right now you probably don't need to buy a particular software but you should focus on learning instead. Coding languages help you build things from the ground up. Really a basic text editor like notepad is all you need for now. Though some prefer Sublime (https://www.sublimetext.com/).

What you need to learn depends entirely on your goals, but starting from the basics is never a bad idea. Good luck and don't be afraid to ask for help if you need it, there are many positive coding communities! Also, Google is your friend!!!

View attached image.
4 years ago*
Permalink

Comment has been collapsed.

Thank you for all the useful information and recommendation ^^

4 years ago
Permalink

Comment has been collapsed.

You're welcome! I hope you learn to enjoy the coding/programming processes, it's really fun and easy once you get into it!

4 years ago
Permalink

Comment has been collapsed.

Do you know of anything specific you want to do with the skill?

4 years ago
Permalink

Comment has been collapsed.

Just basic programming skill I think. Then I'll choose what to do next ^^

4 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 1 year ago.

4 years ago
Permalink

Comment has been collapsed.

  1. I love Autoit. Its very powerful. (and free) Used it for years. I've written many things for work. BUT...... You likely want something in demand. I have no idea what the hot ticket is. But programing is programing. Basic concepts are universal. Once you know one you can learn another faster as you will already know the many basics concepts behind the code that will be shared.

  2. There are many ways to solve a problem. Be flexible. If one method is not working out. Come at the problem your looking at from another direction. Still not working. Step back and look at the bigger issue. You might see a completely different path to the solution.

  3. Share with the community in general. :)

Google and various forums are your best friends. But you do need to know your chosen system very well first. If you don't understand what to ask, then they can't help. They are for helping with details and for pointing you in the proper direction.

4 years ago
Permalink

Comment has been collapsed.

Thank you for your useful advice ^^

4 years ago
Permalink

Comment has been collapsed.

  1. Check job/freelance sites in your area, and see what programming languages are most require. That's what you should learn. Google will help you to find best IDE for this language.

  2. Most basic thing - is no programming language at all. You can write in your native language step-by-step guide, and make it as clear and unambiguous as possible. If anyone is able to follow your guide and get correct result - you did good! If you still not confident enough - try something that was made to learn the basics of programming, like some [logo](https://en.wikipedia.org/wiki/Logo_(programming_language) language interpreter. And then - just find some good book/tutorial/lessons for the language you plan to learn and start learning. You will learn the rest in the process.

One more thing I recommend to read is this article: https://blog.usejournal.com/10-signs-you-will-suck-at-programming-5497a6a52c5c

4 years ago
Permalink

Comment has been collapsed.

Compiler error missing parenthesis : https://en.wikipedia.org/wiki/Logo_(programming_language

Logo is a good one, I started with it when I was 9 or 10. I moved to Basic after. But what really helped me was algorithmic and data structure courses I had in university. Those are the real basics things and apply to every language.

4 years ago
Permalink

Comment has been collapsed.

I see! Thank you for clearing my mind !!! ^^

4 years ago
Permalink

Comment has been collapsed.

  1. The open source movement has rendered most software required for programming almost entirely free. To get started I would suggest a good text editor like Notepad++, VSCode, or Sublime and a book on how to use the command line interface for your OS. Setting up a Github account will let you publish your code. Also bookmark https://repl.it so you can share code with people when you get stuck.

  2. As for actual programming materials I've been suggesting my friends who want to go into Computer Science to try and go through the Harvard CS50 material If you're more interested in web stuff freecodecamp has an excellent Intro to JavaScript course. In general look for sites that offer some type of interface to type in code initially. Articles are more useful when you become intermediate level, but beginners should strive for immersion through practicing typing code and seeing what gets outputted.

Feel free to add me if you need further recommendations, there are so many resources out there on the web for programming which is both a blessing and a curse because curation becomes important.

4 years ago
Permalink

Comment has been collapsed.

From what i can see, programming is SO huge.

I tried C++, it was coding.
I tried web design, it was coding.
I am trying mograph, expressions and scripts are coding.

There are SO many places that you can use coding and I suggest you decide something first tho,

Do you want your code to be seen or not?

If you want it to show it to others visually, i think you should try your chance with web design. (and personally, i think it is easier to move on because you can see you are improving easily) This requires HTML,CSS and Javascript.

4 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 11 months ago.

4 years ago
Permalink

Comment has been collapsed.

This comment is so small, jet it holds such power.

4 years ago
Permalink

Comment has been collapsed.

I did not know about this website and it seems really good for learning. Thanks for the link!

4 years ago
Permalink

Comment has been collapsed.

Thank you, Super Doggo (I call you by your avatar) ^^

4 years ago
Permalink

Comment has been collapsed.

Have nothing to offer on the subject, but a simple thankful bump :)

View attached image.
4 years ago
Permalink

Comment has been collapsed.

Thank you!!!!! ^^

4 years ago
Permalink

Comment has been collapsed.

Sorry, can't help you with programming/coding, but I wish you best luck in your studies, and thank you for the GA.

4 years ago
Permalink

Comment has been collapsed.

First, choose a language. I would recommend starting with python/js. Pretty easy to learn. Also, I like c#.

  1. For python/js, you can vscode (free) for c# visual studio (free) or raider (paid)
  2. Start with syntax. There a huge amount of courses on udemy. Choose one with the most positive review
  3. I pass :)
4 years ago
Permalink

Comment has been collapsed.

I think you need to find the right steps. I don't know if these are the right ones for you, but this is how I would do, with the knowledge I have in programming (self-taught):

  1. Search for various popular generic languages (not aimed at specific tasks) such as C or Pascal. There are pages with ranks of most popular languages used, trends and such. Google is your friend.
  2. Choose one. It really doesn't matter because for me learning programming doesn't mean learning one language. The idea is that you need to learn programming - the basics. Variables, functions, pointers, concepts and whatnot. Things that are done differently in different languages, but in generic languages are basically the same. I can recommend C (popular, highly portable), Java (100% object oriented), and Pascal (my favourite language and very good for learning programming as well, and as powerful and the other two).
  3. Find online resources to learn. You can find online tutorials (Lazarus wiki has a good introduction to Pascal and Lazarus/FPC is a complete free Pascal IDE to start doing your first things and there are way more tutorials/self-teaching sistes for this and all these languages). You can, as others have pointed, find free online academies (Khan Academy has so many courses your head will spin). Or buy one of those "Teach yourself XXX in 21 days" books.
  4. Decide what to do next. Learn another language? Always a good choice. I think a good programmer must be able to adapt to different languages easily, specially if languages follow the same paradigms. Learning PHP for me was a breeze. Specialize in one? Also a good option, if it's popular (C, C++ or C# or Java, because Pascal hasn't been popular in long, sadly) and even better if you find something you specially like and feel comfortable with. Being good in one language is always needed to do good things. It's like knowing how to move the chess pieces and then trying to play with the masters - big difference. That's why the good things I did where in PHP and Pascal - I went deeper into those languages than with any other I tried, although all languages I have worked with have more or less the same capabilities - and why I'm not good at C: I simply can't like it.

With all this I mean that buying Microsoft Visual C++ 19 (or whatever version is now) should be probably the last thing in the whole process. There are enough online resources to help you decide how you want to do all this before spending a dime (if you ever need to, in some cases).

Also keep in mind that some people are not good with programming. We all have different talents. I am horrible caring plants, I tried learning guitar and discovered I have zero musical talent. But I am good with languages, my english is mostly self-taught too. What I mean is that if you don't feel good and interested in the details while learning, maybe it's not for you, as much as it could be interesting and attractive to you. I was once with someone who told me "I don't understand the difference between a variable and a function" and I directly told him "programming is not for you". Then others have a natural talent for it that I'm jealous of so so so very much. With this I don't mean "prepare to be frustrated". Just friendly advice to be aware that there's a possibility to be something you will not enjoy as much as you think now. I still encourage you to try since you seem genuinely interested.

Actually my last advice should be your step zero, where you should start:

  1. Search for threads like these in Google. People asking how to start learning programming. Probably some people ended sharing their own experiences in learning programming themselves and it'll give you a better insight than more and more advices and ideas. Find something that suits you.
4 years ago*
Permalink

Comment has been collapsed.

Thank you so much ^^. I'll take note of your useful instruction!!!

4 years ago
Permalink

Comment has been collapsed.

I am not very good at programming, but JavaScript is, as it seems to me, one of the simplest languages.
I also advise you to download the Browser Automation Studio (BAS) program, this program is very simple and requires almost no programming skills. However, in it you can clearly see what the simplest scripts for the browser look like (although, you can also create quite serious things in it).

4 years ago
Permalink

Comment has been collapsed.

  1. Buy programs: None

    • Everything you need is free. There are some basic tools that help like Notepad++, see gangnamstyle's post.
    • You could buy a / some books, like **** for Dummies, a (real) beginners book might be a better source to learn.
    • There are also some lot's free / paid teaching courses. Most courses costs about 9 - 12$ on the popular sites.
      Actually paying for something might help your motivation, dunno, and maybe you stick to it.
    • Programming is learning by doing.
    • A very basic 'skill' that comes to my mind would be solving this question(s): "What do I want to do? How could I do it?"
    • For example: You want to program an alarm clock. You need to get the current time, and when that time matches your alarm, do some alarming action.
    • Every programming language has a set of tools to solve these problems, and some are more suited for certain problems than others.

At a very beginning don't much about the languages, all can do they same they just use different 'grammatical' styles.
The fundamentals like: variables, condition checks, loops,... are present in all.

I would say the most popular, beginner (and demanded) languages are Python and Java, JavaScript. I would probably recommend Python as it automatically forces you to learn a nice coding style^^
C++, while loved by many, is not a beginner friendly language, it has less (human logic) abstractions and is closer to the computers architecture (low level). If you are at some point more interested in these deeper levels, I would recommend Rust, it's more modern and saver and on the rise.

As the other already pointed out, at some point you probably have to choose a direction, depending on your interests.
PC, Phone, Websites, Servers? Data Analysis, Data Management (SQL), Gaming, Graphical stuff, ...


BUT let's forget the talk about languages for a second, back to learning by doing:
Programming is easy to learn if you have fun, if you have a nice goal.

My recommendation would be buy a small Arduino or Raspberry Pi starting kit.
You will have indirectly some goal, like making some LEDs blink, get your text on a mini screen, display the temperature...

It will have something playful, and this my friend, is a nice way to learn programming.

4 years ago*
Permalink

Comment has been collapsed.

Thank you very much for your advice ^^

4 years ago
Permalink

Comment has been collapsed.

As for your questions:

  1. It depends on the type of programming and language/environment you choose. No need to buy anything while you learning. Your setup will depend on language used, but here are some examples: Sublime Text, Visual studio code, PyCharm community edition, Visual studio community edition.
  2. Most basic skill: thinking logically and in systems. Learning to analyze software requirements (I want my software to do X) and decompose it into list of modules. High school math will also be helpful.

What type of programming you want to learn: website, game, desktop, mobile? A lot will change depending on your chosen domain.
But what will not change [keywords for you]: computer science, computational complexity, algorithms, data structures, software architecture, design patterns.

Use google to search for "best programming books". After a few hours you'll have a list of 10-20 books that people usually recommend. Check these books on Amazon and pay attention to reviews and "customers who viewed this item also viewed" list.

Short summary: when people "program" they use algorithms to manipulate data structures and software architecture/design patterns to organize their code.

There's also a bunch of industry-wide practices like unit testing, continuous integration, continuous delivery, refactoring, and so on.
There are many "schools" (as in approaches) of programming like functional/object-oriented/domain-driven, each with it's own quirks.

I have no time to write a lot here, but I will leave enough for you to find everything you need.

RESOURCES (most are free):

4 years ago*
Permalink

Comment has been collapsed.

Thank you for the huge resources and recommendation ^^

4 years ago
Permalink

Comment has been collapsed.

I find python to be a good starter language. And how to learn, learn by doing ;) choose some simple projects to work on

4 years ago
Permalink

Comment has been collapsed.

You can find mostly everything for free on internet.
I suggest to start with Java programing in case you are interesting to make android applications.

4 years ago
Permalink

Comment has been collapsed.

These are my personal experience, something may be wrong

  1. i will suggest few "free" programs: Notepad++, Sublime Text, Atom (good for javascript) ,Visual Studio Community
  2. Youtube and Google are where you learn, Stackoverflow,Github/Gitlab,Quora are additional. if you aren't good at math (atleast not too bad), just need to be creative and patience
    I think you should begin with AutoIT,it's very easy for beginner to know few basic knowledge. you can create a few little tools while you are learning .my first language is AutoIT and i really love it :D

if you dont want to begin with AutoIT, there will be another options like: HTML/CSS, Javascript, Python, C/C#/C++. you can learn on FreeCodeCamp (Youtube or their website),Udemy.Khan Academy
About Javascript: i am not sure about "it's hard or not" but you can try . honestly i jump to code and learn while creating bots on Discord and Steam for my personal purposes

still hesitate ? just learn random language i suggest above // Trial_and_Error . Don't give up ;)
btw are you from Vietnam ?

4 years ago
Permalink

Comment has been collapsed.

Thank you for your information and yes I'm from Vietnam but I worked in Japan.

4 years ago
Permalink

Comment has been collapsed.

I see i will give you some more suggestions. About AutoIT: you can learn from Pham Vinh AutoIT (Youtube). Python or C you can learn on Daynhauhoc(website or youtube)
Html/Css i still recommended FreeCodeCamp

4 years ago
Permalink

Comment has been collapsed.

I know nothing about programming but here is a bump

4 years ago
Permalink

Comment has been collapsed.

Don't start with a language. Before writing any code and picking any language, take courses/tutorials on Programming Fundamentals, Data Structures and Algorithms, Programming Paradigms and Software Design Patterns. Up to a certain stage the language is irrelevant. You should be able to devise an algorithm and adapt it to almost any language you desire.

Once you have a grasp on what's going on and you feel ready to do some stuff in a language of your choice, follow some courses/tutorials on that specific language. You also need something to write your code in. Use an IDE, it'll make things easier/faster. There are plenty to choose from like Visual Studio Code, Eclipse, NetBeans, Android Studio, Sublime Text, etc.

Then start putting in practice what you learned so far and continue experimenting until you feel confident enough to be able to implement your own stuff.

Build your fundamentals first and you'll thank me later. Good luck!

4 years ago
Permalink

Comment has been collapsed.

No I'll thank you first and will thank you again later :P.
Thank you!

4 years ago
Permalink

Comment has been collapsed.

I'm actually a little bit surprised that there are actually recommendations for languages in this thread...
You didn't specify what you are trying to do, therefore there can not be a serious recommendation... You have to view a programming language as a simple tool. for every job there is a tool that suits best. There is no tool to fit all jobs!

The same goes for the skillsets. There are numerous topics where it's inevitable to be genius grade mathematician, on the other hand there are topics where you don't need that at all.
The only "skill" that is common everywhere is the process of debugging. You will never find a way around this.

Also I haven't seen this in the comments yet and it's very important in Germany:
If you don't have a college degree it's hard to find a job as a programmer. Either you have a certificate or degree to provide or you have a portfolio of your work to show to companies. This of course might differ from country to country, but I believe a portfolio is important no matter where you come from or where you want to work. (degrees are kind of a portfolio, since the HR person will know what topics are covered and what you can get done).

So how can we build a portfolio? One way would be to look around for open source projects you are interested in, contribute to those and maybe even join their ranks of contributors.

This basically closes the circle since if you have found a nice project, you already have a language to learn, since nobody is going to rewrite their whole code in a different language for you to be able to contribute.

as a personal opinion note:
i think it's easier to learn a language first that is hardtyped and precompiled (c, c++, c# and so on) instead of the non typed scripting languages (python and so on). This is fro multiple reason. The most convenient one is that as soon as you hit the build button, the errors are coming in (for basically every beginner that is ;) ) and you can work through that list. When running programs written in a scripting language, the app will crash or just do funky stuff if you have those basic errors. Therefore those might get you up and running faster, but are harder to debug.

That being said here is a link to notes and a class that I heavily consulted when i got started:
http://cs.yale.edu/homes/aspnes/classes/223/notes.html

What I really like about this is that it makes you code quite low level at first, including using the gdb debugger. This might seem quite ancient, but that really helped me understand the process of compiling, linking and all the stuff that an IDE hides from you, but you should know about non the less.

4 years ago
Permalink

Comment has been collapsed.

I actually have 2 college degrees but it doesn't relate to IT at all. Thank you for your recommendation ^^

4 years ago
Permalink

Comment has been collapsed.

Here's a useful thing to keep in mind. Don't stress about which language to learn first. Often, beginners get paralysed deciding where to start, but it doesn't matter because it's not a commitment. Maybe you'll start learning a language and end up never using it again - that's fine. Once you get the hang of programming, learning a new language is easy, and all the general programming skill (not to mention the "learning new languages" skill) that you picked up will transfer to whatever language you learn next.

That being said, if you don't have any idea where to start you could give Python a go. Alternatively, Javascript is always handy to know if you want to do any web development, and you don't need any extra software to get started with that (although I strongly recommend getting a nice text editor - Notepad is useless. I personally like Sublime)

4 years ago
Permalink

Comment has been collapsed.

I'm grateful for your recommendation !!! ^^

4 years ago
Permalink

Comment has been collapsed.

mmm, nothing useful from me in response to # 1 & 2, but I do know the answer to #3: we here at steamgifts are your friends and you can share all your goodies here. Hell, you can even get something back once in a while if Lady Luck favors you!

4 years ago
Permalink

Comment has been collapsed.

Thank you !!!!!!!! I love this community!

4 years ago
Permalink

Comment has been collapsed.

bump sorry no advice for programming

4 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.