Best coding to learn?

Fixing and making things, what tools to get and what skills to learn, ...
BRUTE
Posts: 3797
Joined: Sat Dec 26, 2015 5:20 pm

Re: Best coding to learn?

Post by BRUTE »

sounds like this is both entertainment through learning, and getting something done eventually?

brute recommends Ruby on Rails. somewhat fun, easy to learn, but still good enough to do pretty much anything eventually (unlike PHP). documentation is plentiful and excellent to get started.

http://guides.rubyonrails.org/getting_started.html

Scott 2
Posts: 2858
Joined: Sun Feb 12, 2012 10:34 pm

Re: Best coding to learn?

Post by Scott 2 »

You can tell the programmers in this thread who do it for a living. They are the ones recommending a program someone else has already written.

Laziest bunch you'll ever find :)

It's the only way to keep up.

daylen
Posts: 2536
Joined: Wed Dec 16, 2015 4:17 am
Location: Lawrence, KS

Re: Best coding to learn?

Post by daylen »

@7wannabe5 I would look into linux/unix operating systems to lean more about the low level operations of computers. This will provide a learning environment with a variety of tools (simple applications) for analyzing the computational processes that operate on different time-scales.

See: Filesystems, computer memory, parallel processing, bash, algorithms, data structures, control loops, unix, linux servers, kernal, computability theory.. and follow the rabbit holes.

For something more hands-on look into how all the computer components of a desktop fit together. This will give you hardware that you can analysis for performance.

See: CPU, motherboard, GPU, RAM, HDD, SSD, monitor, peripherals, computer case, fans (ventilation for temperature control), sensors, etc

The web stuff all depends on this stuff.

bryan
Posts: 1061
Joined: Sat Nov 29, 2014 2:01 am
Location: mostly Bay Area

Re: Best coding to learn?

Post by bryan »

I would say:
  • python for general programming (very popular for local programs and servers)
  • C if working with hardware (you can interface w/ C (and some already applicable public libraries) from most other languages, though, so no need to learn it directly unless you are doing custom projects that might use something like a RasPi)
  • Javascript et al (TypeScript, React) for stuff that runs in the browser, though Node.js has made it more popular for general programming as well
It sounds like python would work for you. Go and Ruby could be alternatives to python, if you prefer. I would stay away from Java and PHP.

As others have said, why not start with defining a few problems and seeing if there are existing open source solutions you can have a look to and build around? Python is probably the easiest to learn that will remain widely relevant.

BRUTE
Posts: 3797
Joined: Sat Dec 26, 2015 5:20 pm

Re: Best coding to learn?

Post by BRUTE »

python 2 or 3? zing.

ducknalddon
Posts: 249
Joined: Fri May 20, 2016 5:55 am

Re: Best coding to learn?

Post by ducknalddon »

EdithKeeler wrote:
Mon Jan 29, 2018 11:09 am

—something pretty useful to me to be able to build a decent website
I see several people have mentioned Python. As much as I like Python it isn't trivial to create a web site with it, you'll need to use something like flask or django, pip to install it then start tinkering with nginx and wsgi to host it as well as being able to find your way around linux. If you have been doing this stuff for a while you will probably have forgotten how much is involved. PHP on the other hand is as simple as uploading a single file.

7Wannabe5
Posts: 9426
Joined: Fri Oct 18, 2013 9:03 am

Re: Best coding to learn?

Post by 7Wannabe5 »

@daylen: Thanks. I am already taking an online course to learn this range of skills/knowledge. Kind of like the lab course I kept neglecting to take with the lecture course. I like being reasonably handy when something breaks.

daylen
Posts: 2536
Joined: Wed Dec 16, 2015 4:17 am
Location: Lawrence, KS

Re: Best coding to learn?

Post by daylen »

7Wannabe5 wrote:
Wed Jan 31, 2018 8:50 am
I like being reasonably handy when something breaks.
A high-ROI activity is learning how to read documentation efficiently. You can think of each computer as a node on a network. Each node is a system that has a memory space (files, partition schemes, memory devices, caches, ..). The edges of each memory partition are where most of the intercommunication occurs between programs (daemon to networking); this is where the documentation is focused on compatibility. Most computer problems seem to boil down to application compatibility issues (ignoring user error). Abstraction gives raise to complexity; complexity is best handled by thinking of things as objects with functions that loop in accordance with some trigger (do this, if this then that, while this or that, for this list then that, ..).

Luckily, documentation is plentiful now days and usually easy to find with a little google-fu. For a challenge try installing one of these (while understanding each step): https://www.archlinux.org/ (my first choice) ... or https://www.gentoo.org/ ... or even http://www.linuxfromscratch.org/ ... or just a build a computer out of metal pipes and solar (there are clearly diminishing returns). The purpose of this activity is to become familiar with documentation at the hardware-software edge of the computer-network system.

Also, there is always Raspberry Pi for simple purpose machines.

7Wannabe5
Posts: 9426
Joined: Fri Oct 18, 2013 9:03 am

Re: Best coding to learn?

Post by 7Wannabe5 »

@daylen:

Thanks for the suggestions. I would rate those as at least 4 finger level* challenges, whereas the course I am doing is right at the 2 finger challenge level for me currently. However, I will make a note to check back at some point and see if they have dropped to 3 finger level. Of course, building a computer from solar and metal pipes would have to be 5 finger plus for almost everybody :lol:


*Elementary school librarians teach children to pick appropriate reading books at 2 finger level. Finger level is determined by how many words on page picked at random you can't read or don't know.

BlueNote
Posts: 501
Joined: Sat Jun 08, 2013 6:26 pm
Location: Toronto, Canada

Re: Best coding to learn?

Post by BlueNote »

EdithKeeler wrote:
Mon Jan 29, 2018 1:23 pm
Thanks. Yeah, I’ve done a couple of basic websites with—something similar to Wordpress—can’t recall the name just now. That was my “basic html” that I meant.

What I’d really like to be able to do is create a certain program—either on or off the web—to handle inputting documents and forms and inputting data into the documents—kind of like a word or PDF document—but where data is saved so you don’t have to input it again. Not like a mail merge, where you’re sending Letter A to a bunch of people. More like today I want to send letter A to John Smith, along with document B.....but in a few weeks I want to send document C, but I don’t want to type in the same thing again. And in the meantime letter Z and Y are going to John Doe and Jane Jones. I’ve experimented with this in Word and Excel, but it’s clunky and not quite what I want. I’m sure a programmer with experience could do this in 2 minutes, but it seems like a perfect project to learn on, and it would be useful to me personally.
I could probably do this type of thing using just the MS office suite or the Google drive suite (docs, sheets, etc.) along with their macro languages.

This sounds like "glue programming" to me, my specialty . So I would not try to learn Java, C, C++, Fortran, Assembler or R because they're not well adapted to this problem and most of those languages are way too close to the metal for this type of thing. Python is cool but I think there are better options for this particular problem that would allow you to solve the problem much quicker while at the same time allow you to learn some programming.

One option is to build the solution in the MS office using word, excel, access, etc. and VBA, your background in BASIC will come in handy because VBA is just a fancy BASIC. You could create the documents in Word, organize them into access records and have a macro that can create new documents based on access data input into templates. You could also set date fields in access and have some VBA code to automate a lot of the work (preparing the letters, sending them, putting them into outlook email messages, uploading to a server etc.). I've done all this stuff before and my main tip is to get the out-of-the-box office programs to do as much of the work as possible and only code in the parts that the office suite can't do or can't do better than your code. Another tip is, when you know what the solution is in advance, to design the basic logic in advance using pseudocode. This will allow you to think about how to program the solution without having to get into the nuts and bolts of an actual language at the same time.

Another alternative is the Google suite of office products. The bonus here is that the macro language they use is Javascript which is used very widely for websites and some server side code. You could do your project using their products and automate tasks using their javascript macro implementation. The downside is that it doesn't sound like you're too familiar with googles office suite or javascript so there will be more of a learning curve. On the up side I think the Google route would provide you with a more portable set of skills and all the software is free from Google.

bw_
Posts: 9
Joined: Thu Nov 24, 2016 7:30 pm

Re: Best coding to learn?

Post by bw_ »

I agree with Blue Note, as far as using VBA to automate the spreadsheet tasks you mention. And yes, apparently, it is easy program to do when you've learned how to do so. I took an online course, and learned the basics, enough so that it was possible to make modifications to finished code. This was a couple of years ago, and I couldn't find any resources that would automate the reformatting of dozens of worksheets, and then turning each into a new workbook. There were many resources online for learning the languages others have described above, but very few for VBA. A generous geek, whom I connected with in the online course's forum, quickly programmed a solution in VBA that was far beyond my skill level.

Polp
Posts: 18
Joined: Sat Mar 14, 2020 11:20 am
Location: Valencia, Spain

Re: Best coding to learn?

Post by Polp »

Hello! I just found this thread because I also wanted to pick up some coding in the next weeks since I have time to do that.

So far I was thinking about learning R or Python. Are those in any way comparable?

What I wanted to do with the language:
  • Start with analyzing historical stock and index data (that might be good in R)
  • Try to pick up some machine learning basics I might be able to use in my job
  • Learn a useful skill for future projects
So what I found out so far is that R seems to be good at analyzing and visualizing data. However, Python seems to be a very good programming language to start with for basically anything. Is it a lot harder to do what I can do with R in Python? Is that somehow related? I mean for machine learning you need good data and there seem to be applications for machine learning in R.

So far I have had some introduction in C++ at university and used a scripting language when I was younger.

Would it make sense to learn both languages? I would start with R and then pick up Python?

Gilberto de Piento
Posts: 1949
Joined: Tue Nov 12, 2013 10:23 pm

Re: Best coding to learn?

Post by Gilberto de Piento »

Python is a general purpose language that as of the last few years has basically caught up to R in stats, charts, reporting. It can do a lot, including the work you describe.

R is a stats language. It can do other things but not as much as python.

Python will make you more marketable and I think will eventually take over much of what R is used for. I found it harder to get started in though. I would learn python well and I would only also learn R if you are trying to get an analysis job and want to have R jobs open to you.

The_Bowme
Posts: 56
Joined: Tue Feb 03, 2015 9:59 pm

Re: Best coding to learn?

Post by The_Bowme »

If you want to do anything complex in a browser you'll need to know JavaScript. JavaScript can also be used server side as Node. It has its quirks but it's multiparadigmatic and popular. So in the absence of a compelling reason to use something else, that's what I'd go for.

But I'm mostly a JavaScript dev so I would say that!

Edit: for the most recent ask I would say learn python.

Polp
Posts: 18
Joined: Sat Mar 14, 2020 11:20 am
Location: Valencia, Spain

Re: Best coding to learn?

Post by Polp »

Thank you very much for your feedback.

dranudin
Posts: 10
Joined: Mon Oct 21, 2019 3:26 pm

Re: Best coding to learn?

Post by dranudin »

I would also recommend python. It is widely used today and you can get a lot of tutorials, documentation and open source code from it. Practically every problem is already discussed in forums like stackoverflow. This is very important for a beginner. Plus there are lots and lots of modules for python. Most of them are free and greatly enhance the capabilities of your programs. Dont be shy to take advantage of that. It is a great idea to use other people's code for your projects, if it helps you reach your aim. In todays world, most people use all kinds of tools and packages to get the job done. Otherwise it would be way too complex/complicated to get anything done.

At work I use C#, which is a great language. But it's not so easy to start with and for small programming tasks it has no real advantage over python.

Edit: Python is however not the right choice to build a website.

Post Reply