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.
 
  • Locked thread
Klyith
Aug 3, 2007

GBS Pledge Week
I have a good friend who just got a new job, yay! Unfortunately he's very much a C++ oldschool guy, and the job is angularJS, SQL, and web programming. The company that hired him knows this and he'll have a good amount of time to learn on the job, but it's also a small company so I doubt they have their own teaching materials.

So he's crashing in on JS and related stuff, started with w3schools and I know they're poo poo. But it's also definitely the wrong approach for him to go from the bottom up, as if he's never done any programming before.

Does anyone have some suggestions for learning resources that start from the other direction, for someone who already knows programming at the professional level?

Adbot
ADBOT LOVES YOU

Jaded Burnout
Jul 10, 2004


This is a tough one. I've done a reasonable amount of effort in the other direction and based on what I know of C++ I think it depends on what sort of work he was doing with it.

I'm not sure there will be anything that will help here, in that there's plenty of resource on the languages, technologies, and frameworks, but not much outside of newbie stuff for the broad concepts of web development.

For example, the core concept of web development for anyone working end to end with it is the (sorta) stateless nature of the request/response cycle which will appear alien to anyone who's used to long running single-user processes or persistent stateful clients. There will be analogies to his work depending on what he did but the web stack is also layered like a mirror in a way unlike probably anything he's done before outside of maybe mainframe stuff.

Perhaps he could post here and we can answer specific questions / concepts?

MrMoo
Sep 14, 2000

JS itself, or rather TS a better choice is a rather easy hop, for HTML and CSS you have good reference material at MDN. The bigger problem is the gigantic paradigm shifts and historical artifacts that frameworks have, Polymer is definitely a good direction for OOP sanity, but things like React, Angular, and then fitting them around Redux, etc, and being productive are the greater challenges.

Oldtimer C++ developers may lack experience with moderns tools like lambdas and promises, they can be investigated in C++ first and then the concepts carried over.

Klyith
Aug 3, 2007

GBS Pledge Week

Jaded Burnout posted:

Perhaps he could post here and we can answer specific questions / concepts?
He doesn't have a SA account, and has been very resistant to my offer of getting him one in the past. (He kinda hates the SA style of humor, I learned really quickly years ago not to share jokes from here with him.) But if he has specific questions I'll tell him to bite the bullet and just get in here to post himself.

MrMoo posted:

good reference material at MDN.
Excellent, this has already helped a ton! He says just seeing large, complete code samples is a lot better and MSDN is good at that.

quote:

The bigger problem is the gigantic paradigm shifts and historical artifacts that frameworks have
Yeah plus the historical artifacts of javascript itself, which are producing a lot of running commentary about being a pile of kluges pretending to be a language. He's now keeping score of how many times he can find warnings about undefined behavior that's different depending on which VM it runs on. :eng99:

return0
Apr 11, 2007

I'm not sure if this was a typo, but replying to disambiguate between MDN (Mozilla docs) and MSDN (Microsoft docs).

Klyith
Aug 3, 2007

GBS Pledge Week

return0 posted:

I'm not sure if this was a typo, but replying to disambiguate between MDN (Mozilla docs) and MSDN (Microsoft docs).

Oh, it wasn't a typo! Thanks for the correction!

Chunjee
Oct 27, 2004

Have him check out TypeScript. C++ => TypeScript makes a lot of sense.

I like the linkedin course on it. https://www.linkedin.com/learning/typescript-essential-training/welcome

treehouse's courses on javascript and angularJS are good: https://teamtreehouse.com/library

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

Klyith posted:

I have a good friend who just got a new job, yay! Unfortunately he's very much a C++ oldschool guy, and the job is angularJS, SQL, and web programming. The company that hired him knows this and he'll have a good amount of time to learn on the job, but it's also a small company so I doubt they have their own teaching materials.

So he's crashing in on JS and related stuff, started with w3schools and I know they're poo poo. But it's also definitely the wrong approach for him to go from the bottom up, as if he's never done any programming before.

Does anyone have some suggestions for learning resources that start from the other direction, for someone who already knows programming at the professional level?

I learned Angular using ng-book. As I recall, it assumes some familiarity with programming and doesn't waste much time telling you what a string, object, etc, are.

SQL should be easy to find a technical book for.

Main Paineframe
Oct 27, 2010
As well as learning code, make sure he doesn't forget to familiarize himself with the developer tools for the browser of his choice. They're a huge help when working with HTML, CSS, and JavaScript.

Mongolian Queef
May 6, 2004

fantastic in plastic posted:

I learned Angular using ng-book

Did you go for a physical copy? Or the version with the 3 hour screencast?

fantastic in plastic
Jun 15, 2007

The Socialist Workers Party's newspaper proved to be a tough sell to downtown businessmen.

Mongolian Queef posted:

Did you go for a physical copy? Or the version with the 3 hour screencast?

I bought the basic PDF package. I don't learn coding well from videos/casts, so paying extra for them seemed like a waste of budget.

Mongolian Queef
May 6, 2004

fantastic in plastic posted:

I bought the basic PDF package. I don't learn coding well from videos/casts, so paying extra for them seemed like a waste of budget.

Cool, I think I'll give the basic version a shot. Thanks.

Klyith
Aug 3, 2007

GBS Pledge Week
Thanks so much to everyone for the helpful suggestions! Particularly that book, it looks great.

reversefungi
Nov 27, 2003

Master of the high hat!
An alternative suggestion: maybe your friend can go through the latter half of CS50's video lectures. David Malan does a great job of giving an overview of web development, touching on the request/response cycle/sql/templating/routing/etc. Could be a good jumping off point to get a broad overview

Murrah
Mar 22, 2015

Main Paineframe posted:

As well as learning code, make sure he doesn't forget to familiarize himself with the developer tools for the browser of his choice. They're a huge help when working with HTML, CSS, and JavaScript.

Yeah honestly minute per minute doing a bunch of courses/materials on how to use Chrome Dev Tools or Firefox dev tools will help save him a lot of grief/time

LP0 ON FIRE
Jan 25, 2006

beep boop

MrMoo posted:

Polymer is definitely a good direction for OOP sanity

What kind of project did you do with Polymer? I don't see how Polymer and sanity can be used in the same sentence. It's still fairly new, with a lot of problems and poor documentation. It wasted way more time for me than what it was worth, so I'd say stay away!

Angular on the other hand is something that should be learned and possibly used with Polymer here and there (not to an extent that you'll have to fix a never ending list of problems). For the most part, you probably wouldn't need Polymer with Angular, since Angular seems to do a lot that Polymer already does. Angular also follows the MVC pattern so it's something that the person may be familiar with as a C++ programmer. It's also much more widely used at this point and a lot less prone to issues.

LP0 ON FIRE fucked around with this message at 20:27 on Aug 7, 2017

MrMoo
Sep 14, 2000

LP0 ON FIRE posted:

What kind of project did you do with Polymer?

I have all the NYSE floor display systems built with Polymer pulling real time data over WebSockets. Polymer allows me to mix and match complicated display rules in their own little sandboxes without even more headaches.

I just hit over 100,000 lines of webdev enjoyment last week on this:

LP0 ON FIRE
Jan 25, 2006

beep boop

MrMoo posted:

I have all the NYSE floor display systems built with Polymer pulling real time data over WebSockets. Polymer allows me to mix and match complicated display rules in their own little sandboxes without even more headaches.

I just hit over 100,000 lines of webdev enjoyment last week on this:



That's you! Well, I have to say it looks fantastic, and congrats again. :)

I used it for making a site for elementary school principals to log into and grade teachers on their science practices guidelines, and record other data as well as conferences. I think the trouble mostly came into play with browser compatibility, and a lot of the elements like paper-dropdown-menu and paper-scroll-header-panel.

LP0 ON FIRE fucked around with this message at 17:02 on Aug 8, 2017

Adbot
ADBOT LOVES YOU

Munkeymon
Aug 14, 2003

Motherfucker's got an
armor-piercing crowbar! Rigoddamndicu𝜆ous.



Klyith posted:

He's now keeping score of how many times he can find warnings about undefined behavior that's different depending on which VM it runs on. :eng99:

Of course: meticulously tracking undefined behavior should just come naturally to anyone used to C++

  • Locked thread