SIGforum.com    Main Page  Hop To Forum Categories  The Lounge    Learn to code - Ok, how?
Page 1 2 3 
Go
New
Find
Notify
Tools
Reply
  
Learn to code - Ok, how? Login/Join 
W07VH5
Picture of mark123
posted Hide Post
quote:
Originally posted by Pipe Smoker:
BTW – Regardless of which computer language you choose, you ought to become proficient with a text editor (as opposed to a word processor, such as Microsoft Word).

Probably ‘vi’ (and its variants) are the most popular text editors, but I like ‘emacs’. Text editors are automatically available on most computing platforms and can also be downloaded from open source sites such as GitHub.


VS Code is a good bit more efficient unless you’re doing single file programs.
 
Posts: 45798 | Location: Pennsyltucky | Registered: December 05, 2001Reply With QuoteReport This Post
Member
Picture of maladat
posted Hide Post
Text editors are great for editing text.

Well, duh. But someone who has not gotten at least somewhat fluent in using vi/vim or emacs probably can't imagine the EXTENT to which that is true. A decent user of vi/vim or emacs can edit text so much faster than with a mouse-and-typing editor that it is genuinely startling.

I'm personally on the team vim side of the editor holy war. I used both long enough to get OK with them and just liked vim better.

Now, with that said, vi/vim and emacs both have pretty steep learning curves, and their text editing functions don't really help you learn to program (yes, yes, vim and emacs users, I will get to your objection to this in a minute).

I think a simple IDE (integrated development environment - basically a program that you write your code in and has features for compiling, running, testing, etc.) makes more sense when you are just starting out.

IDEs have something like "spellcheck for code." If you try to use a function or variable or something and get the name wrong, the IDE will notice there's no function or variable with that name and flag it. If you try to use a function with the wrong number of arguments, the editor will flag it. When you start typing a function name, there's something like "autocomplete" that shows you possible functions and what arguments they are supposed to take. All of that happens at the code editing stage, not at the stage of compiling or running a program and getting errors. They'll flag if you never close a parenthesis. All kinds of stuff.

That sort of thing won't catch every bug, but they can be a big help.

And then if you want to use vi/vim or emacs, many IDEs have vi/vim and emacs emulation modes for when you are actually editing source code files in the IDE.

Now, for the vi/vim and emacs users' objection: yes, by adding a bunch of extensions, you can make vim or emacs do all that stuff, too. You can turn vim or emacs into a pretty full-featured IDE all on its own. But it's kind of a pain in the ass to get set up that way and it turns the already steep learning curve into a learning brick wall. I just don't think it's a good idea for someone just getting started with programming who isn't devoting all their time to it.

quote:
Originally posted by mark123:
VS Code is a good bit more efficient unless you’re doing single file programs.


There are actually ways to get vim and emacs to handle large projects pretty well, but as above, the learning curve to do that in vim or emacs is steep and probably not worth it these days.

Even for using vim or emacs, I think vim or emacs emulation in an IDE usually makes more sense than turning vim or emacs into an IDE. (I use several different IDEs for different languages and generally use vim emulation in them.)

I think VS code is a good choice for people just getting started. It's lightweight and has a lot of the immediate useful features without getting bogged down with all the complication and options of a big, professional IDE.
 
Posts: 6320 | Location: CA | Registered: January 24, 2011Reply With QuoteReport This Post
W07VH5
Picture of mark123
posted Hide Post
There's a vim plugin for VS Code Big Grin https://marketplace.visualstud...emName=vscodevim.vim

VS Code had come a long way over the past year.


You're right about the leaning curve. When I need to edit a couple lines on a Ubuntu box, I use nano. It's easier to remember all the shortcuts.


Oh, we all forgot to mention learning SSH. That's kind of a big deal.
 
Posts: 45798 | Location: Pennsyltucky | Registered: December 05, 2001Reply With QuoteReport This Post
Muzzle flash
aficionado
Picture of flashguy
posted Hide Post
quote:
Originally posted by ChicagoSigMan:
Sorry for the late reply.

This is just for fun. I try to do something each year to challenge myself, and I thought this might be an interesting one for 2022. No professional or employment application whatsoever.

I don't even know what I would code. Maybe tinker around with some auto-trading algorithmic stuff for financial markets since that is in line with my primary area of knowledge. BUt maybe that's too ambitious.

That book "Automate the Boring Stuff" looks like it could be fun.
If you're just doing it for fun, you might just try BASIC. It's very straightforward and one can do quite a lot with it if one tries. I taught myself BASIC while writing a fairly complex scoring program for IPSC/USPSA local matches.

flashguy




Texan by choice, not accident of birth
 
Posts: 27911 | Location: Dallas, TX | Registered: May 08, 2006Reply With QuoteReport This Post
Member
posted Hide Post
While I 100% agree with Para and others about changing careers and the heavy bias toward coders from India, to put this another way. I'm 35 - and have worked in the legal field as a paralegal for 7.5 years. I did a data analytics 'bootcamp' earlier this year, and start a data job next Monday making almost double my previous annual salary, and I'm a white male...so it is possible.
 
Posts: 46 | Registered: May 05, 2020Reply With QuoteReport This Post
Ignored facts
still exist
posted Hide Post
My God, after 3 pages of discussion, let's just get him started.

This reminds me of the time we brought a noob to the range and wasted all of our time debating whether he should start with a revolver or a 1911. Let's just get it done, right now.

goto www.python.org/downloads

(I'm making the bold assumption that you are using windows 10, 64 bit. If not, then we may need to go to the correct version.)

click on the yellow button Download Python 3.10.1 -- this should be the 64 bit windows version. It will download.

Open your downloads folder and click on the python-3.10.1-amd64.exe file

click install now on the windows warning window.

(don't worry, this is not going to harm your computer. Just make sure you are on the python.org site and you are GTG.)

on "setup was successful" window, click close.


go to your windows start bar and find/start the app "python 3.10" and start python.


you should see a command type window with bunch of text like this:


Python 3.10.1 (tags/v3.10.1:2cd268a, Dec 6 2021, 18:54:59) [MSC v.1929 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information >>>


At the >>> type this:

x=1+2+3+4+5

print(x)


you should see the answer which is obviously 15.

There, you have coded, and found the answer to a simple math problem using python!!!!!

once you get this far, we can put something much more complex in an editor and go from there.

But this is the first step. You have pilled the trigger, we just need to show you how to load/unload, clear jams, get you into a reloading press, and eventually you will be doing an IDPA/IPSC match every weekend Smile

seriously, the next step is put some code (text) into notepad, and then eventually notepad++, run it, and you are rolling from there.


.
 
Posts: 11293 | Location: 45 miles from the Pacific Ocean | Registered: February 28, 2003Reply With QuoteReport This Post
Baroque Bloke
Picture of Pipe Smoker
posted Hide Post
quote:
Originally posted by SparkyWho:
While I 100% agree with Para and others about changing careers and the heavy bias toward coders from India, to put this another way. I'm 35 - and have worked in the legal field as a paralegal for 7.5 years. I did a data analytics 'bootcamp' earlier this year, and start a data job next Monday making almost double my previous annual salary, and I'm a white male...so it is possible.

Congrats on your new job!



Serious about crackers
 
Posts: 9803 | Location: San Diego | Registered: July 26, 2014Reply With QuoteReport This Post
Experienced Slacker
posted Hide Post
quote:
Originally posted by radioman:
My God, after 3 pages of discussion, let's just get him started.

*Proceeds to do exactly what he says*


Thank you for your exemplary post on this topic. Smile
 
Posts: 7554 | Registered: May 12, 2004Reply With QuoteReport This Post
Big Stack
posted Hide Post
Besides Python and a database (usually one of the SQLs) what other tools, libraries, etc., does one need to be up to speed on to actually get someone to pay you to program Python? And will you get hired just by getting enough proficiency from on-line tutorials?

I did IT for a long time. Got shunted from programming to administration. Eventually I got laid off, and the entire company I worked for disappeared. I started my own business eventually, but before that, I tried getting trained up on HTML 5 as a new technology (I had done some Java, and was hoping to combine the two.) Without work experience with HTML 5, no one cared.

I have a real estate investing business now, but would consider getting back into programming. But it think it's a bit overoptimistic to think you just train yourself up and get a job. There is usually the catch 22 of companies only wanting people that have demonstrable work experience.
 
Posts: 21240 | Registered: November 05, 2003Reply With QuoteReport This Post
Now in Florida
Picture of ChicagoSigMan
posted Hide Post
quote:
Originally posted by radioman:
My God, after 3 pages of discussion, let's just get him started.

This reminds me of the time we brought a noob to the range and wasted all of our time debating whether he should start with a revolver or a 1911. Let's just get it done, right now.

goto www.python.org/downloads


Thanks. I will start here.
 
Posts: 6090 | Location: FL | Registered: March 09, 2009Reply With QuoteReport This Post
Member
posted Hide Post
If you're starting with Python, a normal editor like notepad++ or sublime text can work fairly well as an editor with minimal learning needed. For development environments that help out with the code, provide hints, and show debug steps take a look at free IDEs. Visual Studio Code is popular and used for many languages. PyCharm (the free Community version) is specifically for Python and what I use at work.
 
Posts: 2385 | Registered: October 24, 2007Reply With QuoteReport This Post
Baroque Bloke
Picture of Pipe Smoker
posted Hide Post
quote:
Originally posted by maladat:
<snip>
Python is far from my favorite language
<snip>

What is your favorite computer language?

With experience in quite a few, including some obscure ones, my favorite is the ancient SNOBOL4. Many useful facilities. And yeah, it’s got GOTOs. I’m one of about ten people in the US that likes ‘em.



Serious about crackers
 
Posts: 9803 | Location: San Diego | Registered: July 26, 2014Reply With QuoteReport This Post
Wait, what?
Picture of gearhounds
posted Hide Post
quote:
Originally posted by parabellum:
I'm assuming you're an American. That makes you the wrong nationality.

I'm assuming you're white. That makes you the wrong race.

Forgive me, but you will not get hired. You'll just have to trust me on this. You need to be brown and come from a place where people think nothing of shitting in the streets. I can't think of any other facet of computing where the prejudice is so very strong. It's the truth.

If/when I do finally go back to work, it won't be in I.T. I'm not going to start swimming upstream at my age.

Unless one is willing to work for the .gov; I retired last week and as of that point, every IT person I know, or people in their circle are caucasoid white males. Of course, they are not doing such work as writing code, they are setting up and maintaining various systems, cycling people in and out of hardware, monitoring cyber-security, repairing and replacing aging equipment, etc. The government may obliquely contract to outside sources in some cases but employees seem to be citizens and primarily white. The bigger issue is job availability in a pretty competitive field.




“Remember to get vaccinated or a vaccinated person might get sick from a virus they got vaccinated against because you’re not vaccinated.” - author unknown
 
Posts: 16050 | Location: Martinsburg WV | Registered: April 02, 2011Reply With QuoteReport This Post
Member
Picture of maladat
posted Hide Post
quote:
Originally posted by Pipe Smoker:
quote:
Originally posted by maladat:
<snip>
Python is far from my favorite language
<snip>

What is your favorite computer language?

With experience in quite a few, including some obscure ones, my favorite is the ancient SNOBOL4. Many useful facilities. And yeah, it’s got GOTOs. I’m one of about ten people in the US that likes ‘em.


Like any language, it isn’t the right choice for every project, but my favorite language to use is Clojure. (It probably also isn’t a great first language to learn.)

It’s a Lisp that is heavily biased towards functional programming with immutable data structures. It runs on the Java Virtual Machine so the whole ecosystem of Java libraries is available if there isn’t a Clojure library that does what you need. There’s also a version that transpiles to JavaScript.

This message has been edited. Last edited by: maladat,
 
Posts: 6320 | Location: CA | Registered: January 24, 2011Reply With QuoteReport This Post
Oh stewardess,
I speak jive.
Picture of 46and2
posted Hide Post
Over the years I've coded by hand or via various IDEs: HTML, CSS, Javascript, Basic, VBScript, Python, asp.net, Oracle Forms, Oracle Financials, mySQL, MS SQL, PL/SQL, and maybe that's it, it's hard to keep up with. Some AS400 work, too, way back.

Started writing Basic in middle school on a TRS80 model 4, and later coding webpages by hand (Notepad) at the dawn of the internet for a $10/hr part time gig, and the rest just sort of followed from there, ultimately to proverbial six-figure salaries and world travel.

I prefer the Analysis and Project Management work, less being chained to a desk all day, but I owe a lot to what writing code has done for me in this life, from irrelevant personal web pages to work for university departments to big commercial websites to fancy hotels and casino clients to large government contracts and more.

It's a very useful skill, and took me around this country and world.

Highly recommend. I learned by reading books, experimenting, no formal training, later aided by the internet itself and forums, etc.

I have zero certifications and won't be getting any (ain't nobody got time for that).
 
Posts: 25613 | Registered: March 12, 2004Reply With QuoteReport This Post
Baroque Bloke
Picture of Pipe Smoker
posted Hide Post
Another tool that you ought to become familiar with, regardless of the language you choose: some revision control system. I use RCS – yes, Revision Control System. Smile It’s a very old tool. There are newer ones, but RCS is fully adequate if you’re the only person working on your program. And it’s very easy to administer.

It stores revisions of your developing program very efficiently (space wise). Only the changes are saved. When you want to get a particular revision, RCS constructs it from the initial version through all revisions. Sounds complex, but RCS does it in an instant. RCS is automatically provided on most platforms. And it’s available as a package from GitHub.

RCS is a suite of related tools. E.g.,
* ci – check in (put a revision in)
* co – check out (get a specific revision)
* rlog – output a list of the ci messages for each revision that you supplied as you checked them in.
* rcsdiff – output a “diff” report to show changes between any two specified revisions of your program.
* Others…

I was reminded of the necessity of this tool when I had to retrieve an old version of a program I’m currently developing to understand a mysterious bug.

And I use RCS for many files that have nothing to do with programming. E.g., my tax log, which is a text file.



Serious about crackers
 
Posts: 9803 | Location: San Diego | Registered: July 26, 2014Reply With QuoteReport This Post
  Powered by Social Strata Page 1 2 3  
 

SIGforum.com    Main Page  Hop To Forum Categories  The Lounge    Learn to code - Ok, how?

© SIGforum 2025