What are some easy ...
 
Share:
Notifications

What are some easy to understand coding languages to learn in one's spare time?  

  RSS

lordyeti
(@lordyeti)
New Member Registered
Joined: 10 months ago
Posts: 10
May 28, 2019 11:32  

I've been learning SQL through W3 schools and was surprised by how easy it was to understand. What are some other useful yet easy languages that one can learn in their spare time, preferably including a source to where to learn them for free?


Quote
Leo
 Leo
(@leo)
Eminent Member Registered
Joined: 10 months ago
Posts: 69
May 28, 2019 11:52  

Python is really easy to learn, but I don't think it is about he language. It is more about learning to code rather than learning a language. There are some lower level languages that will teach you more about what happens under the hood like C. If you just want to play with a language and do coil stuff quickly,  I'd recommend Python.


Caustic345, RyanSimply, yeehi and 1 people liked
ReplyQuote
mormy
(@mormy)
New Member Registered
Joined: 10 months ago
Posts: 13
May 28, 2019 12:38  

If you want to do some cool web-app type stuff, try http://imba.io/ and link to Firebase. 

Ruby like syntax, no virtual DOM shenanigans, compiles to JS. Insanely fast. 

https://scrimba.com/ <- learn here, you can pause and play around with the code.  Also tuts on various other JS stuff.

 I won't recommend a languange, I know PHP, JS, Python, C/C#, but it personal preference, and it's the concepts/paradigms that matter, not the language itself. 

But I've played around with imba for a few days now and I'm loving it. Maybe you love Java better, or Groovy, or Erlang, or ... You'll never know until you test it. 

 


lordyeti liked
ReplyQuote
lordyeti
(@lordyeti)
New Member Registered
Joined: 10 months ago
Posts: 10
May 28, 2019 13:30  

Thanks to both of you! Follow up question then since you both mentioned language not being that important: What are some concepts that were difficult for you to understand when you began programming, and can you try to describe those concepts in an easy to understand manner?


ReplyQuote
Adrenaline96
(@adrenaline96)
Active Member Registered
Joined: 10 months ago
Posts: 31
May 28, 2019 13:33  

Python for the clean syntax and easy learning curve, C# for the widespread Windows built-in support and again, easy syntax, rewarding learning curve since you will learn OOP which is mandatory in real-world applications.

Rig 1: R7 1700@3.8GHz w/ Wraith Prism - Sapphire Nitro+ RX 480 8GB - Adata XPG 16GB 3000MHz - MSI B450 Tomahawk - Adata XPG NVMe 256GB SSD - Seagate Barracuda 1TB 7200RPM HDD - Bitfenix Whisper Gold 750W - Zalman i3 Case

Rig 2: R7 1700@3.6GHz - Sapphire Pulse RX 570 4GB - HyperX Fury 16GB 3200MHz - MSI B450 Gaming Pro Carbon AC - SanDisk Standard SATA III 128GB SSD - Addlink S25 SATA III 240GB M.2 SSD - WD Caviar Blue 500GB 7200RPM HDD - Seasonic Focus Gold 650W - Deepcool Tesseract Case


ReplyQuote
mormy
(@mormy)
New Member Registered
Joined: 10 months ago
Posts: 13
May 28, 2019 13:44  
Posted by: lordyeti

Thanks to both of you! Follow up question then since you both mentioned language not being that important: What are some concepts that were difficult for you to understand when you began programming, and can you try to describe those concepts in an easy to understand manner?

1. Comment your own code - because you won't remember why you wrote function x to perform task y in half a year. Also, comment in English if you plan to distribute your app anywhere else but your home country. 

2. Write tests, and learn testing methodology - you're not writing code for a computer literate person, you're writing for the Average Joe's out there. Is ' or " or /' or /" allowed in a form that does some dumb shit ... and does it potentially break something/do something harmful

3. Use git - just do it

4.  Try solving it yourself, even if it's slow/un-optimized/poor before you visit stack overflow

5. your friend stack overflow is, but friends there have you not

6. pick and indent style and stick with it, and use utf-8

 

That's about it from my side. 


ReplyQuote
mormy
(@mormy)
New Member Registered
Joined: 10 months ago
Posts: 13
May 28, 2019 13:46  
Posted by: Adrenaline96

Python for the clean syntax and easy learning curve, C# for the widespread Windows built-in support and again, easy syntax, rewarding learning curve since you will learn OOP which is mandatory in real-world applications.

JS for write once, run anywhere (with "some" optimizations") ... but yeah... JS is a good language to learn, because it weeds the bad developers out real fast. 

TypeScript is better, type-safe JS, developed by MS, open-sourced, Angular uses it ... great lang with great tooling.


ReplyQuote
Adrenaline96
(@adrenaline96)
Active Member Registered
Joined: 10 months ago
Posts: 31
May 28, 2019 13:50  
Posted by: mormy
Posted by: lordyeti

Thanks to both of you! Follow up question then since you both mentioned language not being that important: What are some concepts that were difficult for you to understand when you began programming, and can you try to describe those concepts in an easy to understand manner?

1. Comment your own code - because you won't remember why you wrote function x to perform task y in half a year. Also, comment in English if you plan to distribute your app anywhere else but your home country. 

2. Write tests, and learn testing methodology - you're not writing code for a computer literate person, you're writing for the Average Joe's out there. Is ' or " or /' or /" allowed in a form that does some dumb shit ... and does it potentially break something/do something harmful

3. Use git - just do it

4.  Try solving it yourself, even if it's slow/un-optimized/poor before you visit stack overflow

5. your friend stack overflow is, but friends there have you not

6. pick and indent style and stick with it, and use utf-8

 

That's about it from my side. 

Yeah, I agree with Git, this is the future, all decent companies will use Git for version control if they don't use it already.

Stackoverflow, MSDN, Microsoft Docs, Github and Youtube are great great great, many of us wouldn't be programming if it wasn't for those.

Rig 1: R7 1700@3.8GHz w/ Wraith Prism - Sapphire Nitro+ RX 480 8GB - Adata XPG 16GB 3000MHz - MSI B450 Tomahawk - Adata XPG NVMe 256GB SSD - Seagate Barracuda 1TB 7200RPM HDD - Bitfenix Whisper Gold 750W - Zalman i3 Case

Rig 2: R7 1700@3.6GHz - Sapphire Pulse RX 570 4GB - HyperX Fury 16GB 3200MHz - MSI B450 Gaming Pro Carbon AC - SanDisk Standard SATA III 128GB SSD - Addlink S25 SATA III 240GB M.2 SSD - WD Caviar Blue 500GB 7200RPM HDD - Seasonic Focus Gold 650W - Deepcool Tesseract Case


ReplyQuote
Adrenaline96
(@adrenaline96)
Active Member Registered
Joined: 10 months ago
Posts: 31
May 28, 2019 13:51  
Posted by: mormy
Posted by: Adrenaline96

Python for the clean syntax and easy learning curve, C# for the widespread Windows built-in support and again, easy syntax, rewarding learning curve since you will learn OOP which is mandatory in real-world applications.

JS for write once, run anywhere (with "some" optimizations") ... but yeah... JS is a good language to learn, because it weeds the bad developers out real fast. 

TypeScript is better, type-safe JS, developed by MS, open-sourced, Angular uses it ... great lang with great tooling.

I see JS and related languages as something you learn and use after you master something more "common" if I'm using this word right, because JS is reliant on other technologies to show its strengths.

Rig 1: R7 1700@3.8GHz w/ Wraith Prism - Sapphire Nitro+ RX 480 8GB - Adata XPG 16GB 3000MHz - MSI B450 Tomahawk - Adata XPG NVMe 256GB SSD - Seagate Barracuda 1TB 7200RPM HDD - Bitfenix Whisper Gold 750W - Zalman i3 Case

Rig 2: R7 1700@3.6GHz - Sapphire Pulse RX 570 4GB - HyperX Fury 16GB 3200MHz - MSI B450 Gaming Pro Carbon AC - SanDisk Standard SATA III 128GB SSD - Addlink S25 SATA III 240GB M.2 SSD - WD Caviar Blue 500GB 7200RPM HDD - Seasonic Focus Gold 650W - Deepcool Tesseract Case


ReplyQuote
mormy
(@mormy)
New Member Registered
Joined: 10 months ago
Posts: 13
May 28, 2019 14:13  
Posted by: Adrenaline96
Posted by: mormy
Posted by: Adrenaline96

Python for the clean syntax and easy learning curve, C# for the widespread Windows built-in support and again, easy syntax, rewarding learning curve since you will learn OOP which is mandatory in real-world applications.

JS for write once, run anywhere (with "some" optimizations") ... but yeah... JS is a good language to learn, because it weeds the bad developers out real fast. 

TypeScript is better, type-safe JS, developed by MS, open-sourced, Angular uses it ... great lang with great tooling.

I see JS and related languages as something you learn and use after you master something more "common" if I'm using this word right, because JS is reliant on other technologies to show its strengths.

I don't agree with that statement at all. Javascript is the 2nd or 3rd most used programming language in the world right now. It has quirks, it has bugs, but if you refer to "common" as statically typed and compiled languages, you are right.

However, for most purposes you use some language to do some logic and display results. You do not use C# to do queries even if you do use some ORM, because every layer of abstraction adds complexity and slows the software down. Write queries in SQL, or whatever DB language you use, and then display them using a programming language appropriate for that. 

You do need Java/C#/Erlang/C/whatever for legacy/business reasons, but if you're starting from scratch, why not JS? 

And reliant on other technologies? Is not C# reliant on .NET, you could just as easily use F# or myriad other .NET platform compatible languages. 

I mean, there is a point for learning assembler even in 2019, but why start with that. Python/Ruby/JS and other interpreted languages are far easier to learn and master than diving into C. And you still get the benefit of learning the ropes.

IMHO today's machines are more than powerful enough to enable you to start easy and then get down and dirty with optimizations. 

Don't get me wrong, I get your point, I learnt coding that way, but if I had to do it all over again... I'd just pick Python/Ruby/JS.  

But I'd learn C first if I was interested in embedded/IoT development, just as I would use Erlang if I needed scalability  and resilience. 

Plus, why I advocate to use JS as your first step. You have a browser? Then you have an environment to code in JS. No other programming language (not including bash/zsh/cmd/powershell) let's you do that. 


ReplyQuote
Gio
 Gio
(@gio)
New Member Registered
Joined: 10 months ago
Posts: 12
May 28, 2019 17:10  
Posted by: lordyeti

I've been learning SQL through W3 schools and was surprised by how easy it was to understand. What are some other useful yet easy languages that one can learn in their spare time, preferably including a source to where to learn them for free?

To give a good answer I would have to know what do want to accomplish with it. What do you want to program.

With what I know now I would suggest sticking to W3 schools and following up SQL with PHP, HTML5, CSS and JavaScript. If you've learned them all you can make websites. Or make Wordpress plug-ins to help your favorite website work even better 😋 
PHP (you'll need Apache for this) runs server sided scripts. You'll be able to run code on every browser in your network.
HTML5 learn how to display things in your browser.
CSS stylesheets to store lots of reusable appearence data in a simple file. Which is loaded in HTML.
JavaScript to run html pages dynamicly. Never underestimate this language. It's easy to learn but you'll be learning new stuff for years.

Warning!
If you ever take it online I must insist you use SSL and learn what code injection is. This will prevent people from taking over your site/database!

Bonus
JavaScript Canvas element is great for animations. I run self made games on this using an old PS3 controller.

Whatever you do. Have fun 😉 


Olle P liked
ReplyQuote
ElMayo
(@elmayo)
New Member Registered
Joined: 10 months ago
Posts: 3
May 31, 2019 06:41  

The simple developer package today is NoSQL(MongoDB)-Python-Javascript(usually a framework like Angular,Vue,React and preferably typescript). Having your SQL stuff together and knowing javascript and python can get you started doing anything you would ever want in webdev.

For quicker prototyping you can use PHP, but IMO it's trash and it feel like the rest of the world is agreeing with me or coming to agree.

 

So, knowing SQL, knowing Python and js can get you places when doing webdev and it will be fun too. I personally love Ruby too, but it isn't that popular these days due to being a bit slow and bad rep gained from Rails.

If you want a corporate job, yu should definitely put your snout into Java at some point too, but i think it will be quicker for you to learn these dynamically typed languages first.


ReplyQuote
Luke
 Luke
(@lukedotde)
Eminent Member Registered
Joined: 10 months ago
Posts: 60
June 17, 2019 05:04  

Python is incredibly flexible, granted TK is not the friendliest if you need a UI.  https://pythonprogramming.net/ will walk you through from beginner to professional.  


ReplyQuote
marco
(@marco)
New Member Registered
Joined: 8 months ago
Posts: 3
July 31, 2019 09:04  

Python is often used to teach coding to CS graduates as it ties in well with Math libraries/data sciences.

That said, I'd avoid using it past basic scripting stuff, it's just really slow and I am not a fan of the lack of curly bracers, only indentation to me isn't as great as using both for denoting control levels. The reason I say this, is when you get to ~4/5 indents in, or if it goes over multiple pages, etc. for quick, short functions, python is fine.

Again, you shouldn't be doing so, since you should refactor your code so that the logic is decoupled/modularized, by that I mean if you do something like, A-> B-> C-> D, you should not be having it all in one function as the logic is clearly delineated to be func runX { r = doA(parameters), r = doB(r), r = doC(r), r = doD(r) } and then it's easier to debug each section as needed and you can call the function doB only if that's all you want to do, there is no worry you'll break C and D.

Now in terms of learning a language, the best question is, what do you want to do first? Say you want to build a site, a good place to start is PHP, why? Because it has a lot of guides and frameworks, etc. to work with. But then, I'd also argue, try out Goalng, because it's really, really simple, you can pick it up in a weekend basically: https://tour.golang.org/list as that was the idea that they came up with.

For the beginning, you should learn basic concepts as a previous poster said, looping, data constructs, arrays/slices, etc. and for something like that Go is a good option, but then I'd actually argue to maybe checkout Scala. Why Scala? Because it supports object orientated programming like Java, but also subscribes to the functional programming paradigm, things like map, fold, filter, reduce, etc. and there are a lot of functional courses that are taught using Scala.

So the "best" route, imho, is to learn the basics of Java, the "old school" way, since that's what most code that is programmed is done as, then once through that, move to Scala functional programming, and from there you can pick up any language easily.

The biggest, most important thing though, is to have a goal. Say I want to build X, for me it was a program that dealt with swapping the proxy and settings based on the connected SSID, as windows doesn't auto swap, I first started with basically hard-coding everything, then moved to add a GUI and saved in text file, then over into SQLite, then rewrote from Swing into JFX, then from Java into Scala.

Now I spend most of my time coding in Go (great net library for fast servers/API), PHP (basic web servers), Scala (for academic papers mostly as really easy to map mathematical functions into code and vice versa, though I know of two clients that run their servers using Scala, but I don't work there anymore), Python I'd only really touch if doing small dataset analysis for big data, I prefer using R if you're looking at more than say 1500 computations or so, but then I mostly move over to Scala with SparkSQL, but that also supports python so the slowness of python doesn't matter.

Again, language is not that important, what's important is the concepts, they (usually) easily translate over to any language, and you can pick up language best practices by looking at their documentation/proper linting (e.g. python really, really wants two line breaks between functions, and Golang will usually not compile if a variable is declared and unused).

Best is, pick an idea of what you want to build, break that into parts, and build each part one by one, rewriting after a couple of weeks as you will see how bad your code was at the beginning (we all go through that phase), and realize how fast you're progressing. Do upload stuff, let others check your code, the fastest way to grow is to have others read your code and criticize it, saying "why did you do this?", you defend it, then realize you're wrong (or right) and either rewrite it or your defense/reasoning was good enough that you shouldn't.

Again, hobby code and business code is not the same, hobby code you should rewrite often, go that extra mile for performance/good practice, business code it's write what is mostly good, but fast enough to meet objectives well, do not over-engineer, you're hired to deliver a working solution, not to deliver the best solution.

Good luck

EDIT:

Posted by: mormy
1. Comment your own code - because you won't remember why you wrote function x to perform task y in half a year. Also, comment in English if you plan to distribute your app anywhere else but your home country.
2. Write tests, and learn testing methodology - you're not writing code for a computer literate person, you're writing for the Average Joe's out there. Is ' or " or /' or /" allowed in a form that does some dumb shit ... and does it potentially break something/do something harmful
3. Use git - just do it
4.  Try solving it yourself, even if it's slow/un-optimized/poor before you visit stack overflow
5. your friend stack overflow is, but friends there have you not
6. pick and indent style and stick with it, and use utf-8
That's about it from my side. 

1. Comments are a skill, don't write a blog post, comments should be business logic/reason, your code should be able to speak for itself. You should using something like DocBlocks for comments and extend that.

2. Tests are interesting and a whole other level, don't go there in the beginning, start it after learning to code properly first. The way you write a test is different from writing code.

3. Yes, github is free now for private repos if you're shy about others reading your code. Try and create a new branch for every feature and merge it into master. VSCode is great for git integration.

4. Yes, and don't copy-paste blindly off of stack overflow, go through the entire solution and understand what's being done. If you don't understand it, find a different solution you do.

5. Yes, it is a community that doesn't really tolerate dumb questions, especially if answered before; be sure to have googled properly first, gone through similar stuff, and only then ask a question if you have reached a dead end.

6. Indent style should be language specific, stick to the general coding language style. Exception: PHP, please, for the love of god, don't follow wordpress' style, it's terrible, pick e.g. CakePHP or something.

This post was modified 8 months ago by marco

ReplyQuote

Do NOT follow this link or you will be banned from the site!