Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
dads friend steve
Dec 24, 2004

Linux and mac are preferable in that that’s what most industry uses, but for most popular languages windows works fine. Just start coding! :)

Adbot
ADBOT LOVES YOU

Noblesse Obliged
Apr 7, 2012

Last time I coded was on PC Turing. I’m sure this stuff will hold no surprises for me!

Isaac
Aug 3, 2006

Fun Shoe
I use Git Bash on windows its obviously gonna still be running windows programs but it means the basic syntax is gonna be the same as on linux

Dandywalken
Feb 11, 2014

Is it possible to learn enough Javascript and html in 4 or so months to have a basic enough skillset for employment? Or is it something that requires as associates degree-level of commitment?

Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





Speaking of linux on windows, there is also an Ubuntu app in the windows store that lets you run linux command line utilities in windows. You could use that to start playing around.

https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q?activetab=pivot:overviewtab

But to echo others, you don't need linux to start coding.

kloa
Feb 14, 2007


If you can run commands on Windows, you could grab Docker and easily be able to play around with a ton of cool things like Linux.

Probably quicker to get up and running than trying to install Ubuntu on a separate hard drive or usb stick.

e: ^ didn’t realize you could easily get Ubuntu through the Microsoft store these days. I avoid that thing like the plague, but you do you goons :angel:

kloa fucked around with this message at 07:06 on Mar 23, 2020

Isaac
Aug 3, 2006

Fun Shoe
Cloud computing services like AWS let you create linux instances and fiddle around with them for free in some cases and you can learn alot just fiddling around. If you break something terribly you can just make a new instance and start over

DrPossum
May 15, 2004

i am not a surgeon

kloa posted:

If you can run commands on Windows, you could grab Docker and easily be able to play around with a ton of cool things like Linux.

Probably quicker to get up and running than trying to install Ubuntu on a separate hard drive or usb stick.

e: ^ didn’t realize you could easily get Ubuntu through the Microsoft store these days. I avoid that thing like the plague, but you do you goons :angel:

The ubuntu package there is I think the Windows Linux subsystem, which is more than just command line utilities. It's pretty much a full blown Linux instance running within Windows (with a few things removed for interoperability).

As far as I know you still need Windows 10 Pro to run docker because home doesn't provide virtualization. What is linked above still provides plenty of tools to code.

ANUSTART
Jun 26, 2013


ur jiri3-pax(PAD)-ra2 al-tukur2?-re
gu-du-ni an-na-ab-be2
a-ra-/ab-gig-ga\-[(X)]-e-ce


- Wisdom of the ages.
I wish my brain worked on this lol, I took a whole rear end python course and barely learned a thing

kloa
Feb 14, 2007


DrPossum posted:

The ubuntu package there is I think the Windows Linux subsystem, which is more than just command line utilities. It's pretty much a full blown Linux instance running within Windows (with a few things removed for interoperability).

As far as I know you still need Windows 10 Pro to run docker because home doesn't provide virtualization. What is linked above still provides plenty of tools to code.

Ah that’s a good thing to note about WinPro. You can get legit keys from goons in SA Mart for a steal, but sounds like that Ubuntu package is a better for beginners to dip their toes in.

Hammerite
Mar 9, 2007

And you don't remember what I said here, either, but it was pompous and stupid.
Jade Ear Joe

ANUSTART posted:

I wish my brain worked on this lol, I took a whole rear end python course and barely learned a thing

but you enjoyed yourself right? i might take the rear end python course myself

Isaac
Aug 3, 2006

Fun Shoe
I get lot more out of projects than tutorials. Its hard to know why you would want to do anything until you are presented with a situation that you need to do that thing.

If you cant think of a project you can google like “hentaidownloader github” and play around with someone elses project

ANUSTART
Jun 26, 2013


ur jiri3-pax(PAD)-ra2 al-tukur2?-re
gu-du-ni an-na-ab-be2
a-ra-/ab-gig-ga\-[(X)]-e-ce


- Wisdom of the ages.

Hammerite posted:

but you enjoyed yourself right? i might take the rear end python course myself

When I got something working, yeah I enjoyed it. I just had a hard time with it. My brain struggled.

Caesar Saladin
Aug 15, 2004

I've gotta pick a place to start if I wanna learn some of this, there are so many places to start. I guess python is the one to start with that has some practicality and isn't too low level computer madness?

Analytic Engine
May 18, 2009

not the analytical engine

Caesar Saladin posted:

I've gotta pick a place to start if I wanna learn some of this, there are so many places to start. I guess python is the one to start with that has some practicality and isn't too low level computer madness?

Python is great but Javascript has the lowest barrier to entry on getting something done (anything at all). Check out my advice on starting from nothing but a browser:

Analytic Engine posted:

What is JavaScript? (JS)

wikipedia posted:

JavaScript (/ˈdʒɑːvəˌskrɪpt/),[8] often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification. JavaScript has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web.[9] JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it,[10] and major web browsers have a dedicated JavaScript engine to execute it.

Note that last line. For today, you just need to know that JS is a programming language that you can run from every major desktop browser, instantly, for free. It is not compiled like C++, which means the code executes each statement in order (separated by ;s), and an error at the end of your program will not prevent the beginning from running. This is great for learning and debugging but a bit dangerous for professional projects, which is why programmers use extra tools and test systems in day-to-day work. Don't worry about that today, you can't break your computer by running basic JS in your browser. If you make an infinite loop then it might crash the page, but that's solved by refreshing. Web browsers are designed to limit how much the code can do on a user's computer, a technique called sandboxing.

Coding in the browser:

Right click anywhere in the body of this page, then select "Inspect Element". The browser should open a side/bottom/popup pane with new information. In the bottom right corner there is a text box with one or two carrots (>) pointing to the right. Anything you type in here will be executed after pressing return/enter. This is called the console.

Try typing the following and pressing return after each statement:
code:
var goons = 420;
This defines a variable called goons, and assigns the integer 420 as the value of that variable.
code:
goons = goons * 69;
This assigns a new value to goons, which is the old value multiplied by a number.
code:
console.log(goons);
This logs the value stored in goons to the console, which should be 28980

Buttcoin purse
Apr 24, 2014

Analytic Engine posted:

Python is great but Javascript has the lowest barrier to entry on getting something done (anything at all). Check out my advice on starting from nothing but a browser:

If you not only have a browser but also an Internet connection you can run Python from your browser, e.g. at https://repl.it/languages/python3:

pre:
Python 3.8.1 (default, Feb  2 2020, 08:37:37)
> goons = 420
> goons = goons * 69
> print(goons)
28980
(the stuff in bold is what I typed)

walla :v:

Zeta Acosta
Dec 16, 2019

#essereFerrari
So the goverment put out a programing course for all ages, im working on learning how scratch works
edit: also if i wanted to learn what is the best way? what should i read?

Zeta Acosta fucked around with this message at 04:22 on Mar 24, 2020

Ocean Book
Sep 27, 2010

:yum: - hi
I've been doing the python 'automate the boring stuff' thing and I'm learning regular expressions. I feel like a wizard this is great.

I found this site to practice writing regular expression on if anyone wants that - http://play.inginf.units.it/#/


Zeta Acosta posted:

So the goverment put out a programing course for all ages, im working on learning how scratch works
edit: also if i wanted to learn what is the best way? what should i read?

What's the site? US government?

Zeta Acosta
Dec 16, 2019

#essereFerrari
Chile

Ocean Book
Sep 27, 2010

:yum: - hi
Nice, that super cool. It’s a good thing to get in on while you’ve got time.

Zeta Acosta
Dec 16, 2019

#essereFerrari
Yeah im doing some things in scratch like giving instructions to some images so they can do their thingss

Isaac
Aug 3, 2006

Fun Shoe
When I knuckled down and learned regex i felt like the worlds smartest human

Zeta Acosta
Dec 16, 2019

#essereFerrari
i studied something useless like political science, whats the best way to change careers and start learning code to actually start makin money?

Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





regex is extremely dark magic known to only a few graybeard coders toiling away in their wizard towers.

yoloer420
May 19, 2006
Regex is absolutely worth learning. So many hard problems immediately become trivial.

dads friend steve
Dec 24, 2004

Regex are very good to know. I avoid them whenever possible

Buttcoin purse
Apr 24, 2014

You're not truly a regex wizard until you've cursed the fact that whatever tool you're using doesn't use PCRE (Perl-Compatible Regular Expressions) but instead has some inferior regular expression library that doesn't support negative lookbehind assertions.

Okay, I lied, I don't actually know what the rules are for becoming a regex wizard.

TIP
Mar 21, 2006

Your move, creep.



yoloer420 posted:

Regex is absolutely worth learning. So many hard problems immediately become trivial.

Could you give me some examples of hard problems that are trivial with regex? I'm trying to convince myself to finally learn them and it might help me motivate.

abigserve
Sep 13, 2009

this is a better avatar than what I had before

Tip posted:

Could you give me some examples of hard problems that are trivial with regex? I'm trying to convince myself to finally learn them and it might help me motivate.

No regex; ok split the string, search for occurrences of a specific substring, check that it occurs the right amount of times, check by index that it doesn't occur after a special character, slice it out

Regex:
Parse a string
drat that's a fine looking substring
Assign it

Isaac
Aug 3, 2006

Fun Shoe
I found this file format that was for storing poker game histories and had to translate ot from huge blocks of numbers and dashes into poker games.

It looked like a single massive block of

4-6-9-5-8-5-3-5-9-0-77-5-3-6-8-8-88-8-9-42 etc for pages and pages.

I cracked some of the code and was able to use regex to isolate patterns that could only be one thing. Like decimal numbers were always bet sizes, or a number between 1 and 13 followed by a number between 1 and 4 was probably representing a card.

Over a weekend I had code that could translate it all to english and I think even though ill never use it for anything it was my proudest coding moment

kloa
Feb 14, 2007


sed (replacement) and grep (search) are really powerful with regex

Ever do a find and replace in a text editor? Well now you can perform find and replace through a remote terminal connection to things like a Raspberry Pi that don’t have GUIs.

Need to find a specific pattern but only after it has occurred at least once already (finding duplicate data)? Easy.

Verify (or find incorrect) data such as phone, zip code, credit card, email, and other entries? Can do.

TURGID TOMFOOLERY
Nov 1, 2019

This looks great

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


Debuggex is an amazing tool for working with regexes. Use it.

Buttcoin purse posted:

You're not truly a regex wizard until you've cursed the fact that whatever tool you're using doesn't use PCRE (Perl-Compatible Regular Expressions) but instead has some inferior regular expression library that doesn't support negative lookbehind assertions.

Okay, I lied, I don't actually know what the rules are for becoming a regex wizard.

dads friend steve posted:

Regex are very good to know. I avoid them whenever possible

This is the mark of a regex wizard.

Tinestram
Jan 13, 2006

Excalibur? More like "Needle"

Grimey Drawer
If you're visually-oriented, I heartily suggest Unity/C#. Despite the screeching you may hear in response to this post, I think C# is a great language, and Unity provides tools that allow you to create great stuff with relatively little effort.

Zugzwang
Jan 2, 2005

You have a kind of sick desperation in your laugh.


Ramrod XTreme
When it comes to writing Python-callable modules in other languages that are as fast as possible, should I be looking at C, C++, or something else? I've been working in Python 3 for about 2 years now and am looking to branch out, both for general learning and for performance for certain tasks. I currently only know Python.

While we're at it, how does the learning curve for C++ compare to C?

ultrafilter posted:

Debuggex is an amazing tool for working with regexes. Use it.
Thanks for this. I've been using Regex 101, which is also very good, and it looks like debuggex has different strengths.

Zugzwang fucked around with this message at 16:15 on Mar 26, 2020

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


C is quicker to learn because it's a very simple language, but from the standpoint of a Python programmer it doesn't have a standard library, so there's going to be a lot of work involved in anything you want to do. C++ is beyond the capability of any single person to understand, but once you've got enough down it's much easier to do things. Both languages have static typechecking and expose a lot of implementation details, so either way you're going to have an adjustment to make.

I'd recommend starting with a modern introduction to C++. The folks in the C/C++ thread will have good recommendations.

Zugzwang
Jan 2, 2005

You have a kind of sick desperation in your laugh.


Ramrod XTreme

ultrafilter posted:

C is quicker to learn because it's a very simple language, but from the standpoint of a Python programmer it doesn't have a standard library, so there's going to be a lot of work involved in anything you want to do. C++ is beyond the capability of any single person to understand, but once you've got enough down it's much easier to do things. Both languages have static typechecking and expose a lot of implementation details, so either way you're going to have an adjustment to make.

I'd recommend starting with a modern introduction to C++. The folks in the C/C++ thread will have good recommendations.
Perfect, thanks.

Sophy Wackles
Dec 17, 2000

> access main security grid
access: PERMISSION DENIED.





Zugzwang posted:

When it comes to writing Python-callable modules in other languages that are as fast as possible, should I be looking at C, C++, or something else? I've been working in Python 3 for about 2 years now and am looking to branch out, both for general learning and for performance for certain tasks. I currently only know Python.

While we're at it, how does the learning curve for C++ compare to C?
Thanks for this. I've been using Regex 101, which is also very good, and it looks like debuggex has different strengths.

I think you will want to be looking at C.

https://docs.python.org/3.8/extending/extending.html

You can also check out something like Numba where you can use just-in-time compiling on frequently used python functions that can speed them up a lot.

Caesar Saladin
Aug 15, 2004

I'm gonna try to use javascript to create some dynamic flashcards for practicing guitar, that seems like a manageable first project.

Adbot
ADBOT LOVES YOU

Isaac
Aug 3, 2006

Fun Shoe

SubnormalityStairs posted:

If you're visually-oriented, I heartily suggest Unity/C#. Despite the screeching you may hear in response to this post, I think C# is a great language, and Unity provides tools that allow you to create great stuff with relatively little effort.

In my opinion its the most fun way to learn

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply