Jump to content

Wikipedia:Reference desk/Archives/Computing/2022 April 6

From Wikipedia, the free encyclopedia
Computing desk
< April 5 << Mar | April | May >> April 7 >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


April 6

[edit]

Learn coding as a beginner

[edit]

Not knowing JavaScript, how to handle api calls, create applications on GitHub, create bots, create Lua modules etc. puts an huge full stop over whatever cool ideas I have. Although, I sometimes read hundreds of codes and am able to understand the syntax, sometimes the specific things I wanna don't have an existing code in the entire project. Any place I can go and learn coding as an almost beginner, that guides me from the basics to the advanced level step by step? I really want to learn this thing. Thanks! ---CX Zoom(he/him) (let's talk|contribs) 14:36, 6 April 2022 (UTC)[reply]

You could try some of the several Coding bootcamps, MOOCs, or books you could get your hand on. Try some books from a reputable publisher like O'Reilly Media, No Starch Press, Packt among others. There are also loads of material freely available on the web, many with dubious quality (incomplete, not consistent, typos, or plainly wrong).
Your choice depends on how much time, physical presence and money you want to commit. And on your learning style.
Whatever you decide to do, you'll have to sit in front of a computer and try to code whatever exercise you are given or problems you find interesting. Bumptump (talk) 22:20, 6 April 2022 (UTC)[reply]
Since a lot of what people do with JavaScript is about Web stuff, background knowledge of that is also useful; this intro on Mozilla Developer Network looks promising. There's also some stuff at r/learnjavascript under "Resources" that looks good. I've seen people recommend JavaScript: The Good Parts by Douglas Crockford. --47.147.118.55 (talk) 04:12, 7 April 2022 (UTC)[reply]
I guess I should stop for a minute before hitting "Submit"... Bots are not generally something that people write in JavaScript, because the language is not necessarily the most well-suited for them. You can make any programming language do anything with enough effort, but a good workman knows which tools are best for the job. An experienced programmer will generally have some familiarity with numerous programming languages. You do, however, need to start somewhere, and JavaScript is a pretty good "first language". But it's always been primarily designed for Web development, so don't be surprised that things that aren't Web development are more of a hassle in the language, and you are going to want to learn more than one language if you want to become a good all-around programmer. Lua is a completely different language that has nothing to do with JavaScript, though Lua is also a good, flexible, powerful language, designed with an eye towards being embedded in other programs. Lua wouldn't make a bad second language to learn. Python would be also be a good second or third choice. After that if you want to stretch your brain, might I suggest Forth or Scheme, to get a taste of different programming language paradigms and how differently one can think about software and software design. For Scheme, you can't go wrong giving the venerable SICP a whirl, with the text available for free, --47.147.118.55 (talk) 04:27, 7 April 2022 (UTC)[reply]

I'd suggest first developing some fluency with code by writing some simple interactive text apps (maybe games) that don't do a lot of graphics, dependencies, API calls, etc. Then you will have better footing for dealing with the other stuff. Python is considered a good first language these days. I don't like Javascript very much for that purpose. Web searching "Python for beginners" finds lots of intro tutorials.

Being able to code is like speaking a natural language (e.g. Italian) or playing a musical instrument. It's more a matter of practice and developing your instincts, than of knowledge per se. Intricacies of API's and tool chains OTOH are more like studying chemistry in a book written in Italian. That is more about knowledge. It helps to have some basic footing in the language before working on more knowledge-intensive stuff. 2602:24A:DE47:B8E0:1B43:29FD:A863:33CA (talk) 21:03, 7 April 2022 (UTC)[reply]

There are at least two skills involved. One is a sufficient knowledge of some programming language (or perhaps machine code), which includes the syntax (how do you combine symbols into something your computer will accept?) and semantics (and then, what does it do?). But there is another, language-independent skill: the ability to analyze a problem and to decompose it in smaller and smaller problems, until they can be directly addressed with the available tools. Here is a relatively simple problem: given two sequences of characters a and b, determine whether a is a subsequence of b. For example, "bad" is a subsequence of "inebriated". It is conceivable that someone is fluent in Python yet at a loss when asked to write a program for this task. Now a concrete suggestion. The book Bite-Size Python: An Introduction to Python Programming is intended to be accessible for children, so it does not require any prior knowledge. The user reviews are generally positive; 98% rate this 4 or 5 stars out of 5. While written for kids, one reviewer gushes, "This book is PERFECT for all ages." Another writes, "Very useful introduction to Python, which is aimed at children but would be equally good for any adult looking at programming in Python for the first time." (I have no interest in pushing this particular text, and have not examined it in any detail.)  --Lambiam 16:42, 9 April 2022 (UTC)[reply]

A big thanks to everyone who responded to help me out. CX Zoom[he/him] (let's talkCL) 21:39, 13 April 2022 (UTC)[reply]