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
Jaded Burnout
Jul 10, 2004


raminasi posted:

It’s really wild that a greenfield project with a supposed open mandate to use any new tech ended up going forward with node. I know it’s not your decision, but goddamn.

I could see it a few years ago, maybe this manager is a bit behind the times.

Adbot
ADBOT LOVES YOU

redleader
Aug 18, 2005

Engage according to operational parameters

strange posted:

This is what ended up happening. It turns out when my boss said "any tech", he really meant "use node". One upside is the local jobmarket loves Node for some reason!!!!!!!

Guess you're using C# then!

spiritual bypass
Feb 19, 2008

Grimey Drawer
If the boss really wants Node, do it in Bucklescript/Reason for spite

The Leck
Feb 27, 2001

raminasi posted:

It’s really wild that a greenfield project with a supposed open mandate to use any new tech ended up going forward with node. I know it’s not your decision, but goddamn.
I don’t know, I have some coworkers who are REALLY excited about using node for a new project to get away from all this gross C# and SQL nonsense. We just agree to disagree.

Horse Clocks
Dec 14, 2004


strange posted:


This is what ended up happening. It turns out when my boss said "any tech", he really meant "use node". One upside is the local jobmarket loves Node for some reason!!!!!!!

Node is just the runtime, not the language. You’ve still got a chance to save yourself. :v:

BurntCornMuffin
Jan 9, 2009


Horse Clocks posted:

Node is just the runtime, not the language. You’ve still got a chance to save yourself. :v:

No you don't. Somebody will just see it as an invitation to wrap Node, Hadoop, and some random startup's product with Perl scripts invoked by Spring on the JVM. And some C level at a fortune 500, probably a future client of mine, will be dumb enough to buy it.

Shirec
Jul 29, 2009

How to cock it up, Fig. I

Sorry to interrupt but what's so bad about Node? That's currently the back end language I'm most familiar with (6 months experience so I probably shouldn't be posting here haha), but I was really curious.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
I've never used Node, but I assume most of the backlash is from people that think that Javascript is the worst language in common use today, so why on earth would you use it anywhere you don't absolutely have to?

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

TooMuchAbstraction posted:

I've never used Node, but I assume most of the backlash is from people that think that Javascript is the worst language in common use today, so why on earth would you use it anywhere you don't absolutely have to?

There's also the constant npm clusterfuck. And the fact the project was so badly managed it forked for like a year.

Volguus
Mar 3, 2009
Javascript on the server. :shudder:

TheCog
Jul 30, 2012

I AM ZEPA AND I CLAIM THESE LANDS BY RIGHT OF CONQUEST
Javascript with typescript is just fine.

I get that its cool to hate on it, but despite its idiosyncrasies, which every language has, javascript is a totally fine language to develop in.

I usually find that a lot of the hate for javascript comes from people who had to work in it on the frontend a decade ago, which leaves them with some unfair biases.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

TooMuchAbstraction posted:

I've never used Node, but I assume most of the backlash is from people that think that Javascript is the worst language in common use today, so why on earth would you use it anywhere you don't absolutely have to?

i think it's more:
a) the website is filled with obvious lies that even a child could see through about performance
b) gently caress npm
c) all the typescript tooling is done using node. apparently a quad xeon and an ssd isn't good enough to do intellisense in real time nowadays.

Doctor w-rw-rw-
Jun 24, 2008

rt4 posted:

If the boss really wants Node, do it in Bucklescript/Reason for spite

this but unironically

comedyblissoption
Mar 15, 2006

Linted javascript is an ok dynamically typed language.

The problem is that dynamically typed languages are bad ityool 2018.

Maybe typescript is okay but I don't have experience with it.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

comedyblissoption posted:

The problem is that dynamically typed languages are bad ityool 2018.
Perhaps, if you think that set only contains JavaScript.

mrmcd
Feb 22, 2003

Pictured: The only good cop (a fictional one).

comedyblissoption posted:

dynamically typed languages are bad

Jose Valasquez
Apr 8, 2005

Naar posted:

Perhaps, if you think that set only contains JavaScript.

Python is bad too

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

Jose Valasquez posted:

Python is bad too
:agreed:

Clojure's good, though.

Munkeymon
Aug 14, 2003

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



comedyblissoption posted:

dynamically typed languages

Based on responses to my JS derail from the other week in the horrors thread that leaves you with Rust and Go, IIRC. Rust seems nice.

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


comedyblissoption posted:

languages are bad

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.
Yeah I mean I'm still a very new programmer so I'd love if someone said "X is bad because Y" so I can Google it and read up about it instead of having to say "hmm why is this so bad let me Google ${language} + bad" and getting a million fluff thinkpieces on Medium about it. Help a young'n learn!

Jose Valasquez
Apr 8, 2005

Good Will Hrunting posted:

Yeah I mean I'm still a very new programmer so I'd love if someone said "X is bad because Y" so I can Google it and read up about it instead of having to say "hmm why is this so bad let me Google ${language} + bad" and getting a million fluff thinkpieces on Medium about it. Help a young'n learn!

Python is bad because syntactic whitespace and executable typos.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe
It's a bit hard to put into words. I suppose the closest I can say is that Python has too much magic and its documentation tends to be frequently terrible. Also, its creator hates functional programming for some reason.

Shirec
Jul 29, 2009

How to cock it up, Fig. I

The conclusion I’ve drawn is that all languages are bad in one way or another.

Any thoughts on my plan to learn Java or should I switch to something else?

BurntCornMuffin
Jan 9, 2009


Shirec posted:

The conclusion I’ve drawn is that all languages are bad in one way or another.

Any thoughts on my plan to learn Java or should I switch to something else?

What's your motivation? What do you plan to work on in the near future?

Shirec
Jul 29, 2009

How to cock it up, Fig. I

BurntCornMuffin posted:

What's your motivation? What do you plan to work on in the near future?

I'm really really new to programming so basically just padding out my skill set. My current plan is React, Python, and Java. I ultimately want to transition from web developer to software engineer. I'd like to keep a level of flexibility though so I don't get locked in. This may all sound wildly naive though, I am but a child in the woods.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

Shirec posted:

The conclusion I’ve drawn is that all languages are bad in one way or another.

Any thoughts on my plan to learn Java or should I switch to something else?
A good conclusion. For me, anyway, all languages have their annoying bits, but there are some that are worse than others due to annoying syntax/poor libraries/irritating community/terrible curse. Still, if someone wanted to pay me enough money, I'd do Fortran or Cobol or whatever. Mostly, I think how much you enjoy a job has a lot more to do with your colleagues and the general atmosphere of the company. Java is worth knowing if you want 'a generic enterprise-y language which you will probably be able to get a job using'.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Jose Valasquez posted:

Python is bad because syntactic whitespace and executable typos.

Syntactic whitespace is a subjective thing that a lot of people have strong opinions about on both sides. I'm curious what you mean about "executable typos" though.

For me, the only really big complaint I have about Python is its odd scoping rules: it has module and function scope, and literally nothing else unless you manually encapsulate your variable within some object. Variables declared in a for loop or if statement persist outside of their scope, but only if that scope executed! For example:
code:
import time
def foo():
  if int(time.time()) % 2:
    a = 1
  print a
Every other second, this function will work! And the rest of the time it'll give you an UnboundLocalError. That's nuts.

Otherwise, I'd be happy if it had stricter rules about truthiness, which amounts to saying "I want strict typing in this situation". I'm happier to say "if foo == 0" rather than "if foo", especially when foo may be None and I want to check if it's been set, not if it has a nonzero value.

Python's a dynamically-typed language with all that entails, and it has really good expressiveness/readability. It's far from a perfect language, but there's good reasons why it's so popular, and unlike with Javascript, those reasons don't include "because I didn't have any other choice."

Jaded Burnout
Jul 10, 2004


Shirec posted:

This may all sound wildly naive though, I am but a child in the woods.

A little bit maybe, but I would say those are not bad choices to explore. People (including myself) put a lot of emphasis on people knowing their language when hiring whether valid or not. But if you've very junior then places have gotta be expecting to train you anyway.

Having a ground-level understanding of a bunch of languages and frameworks would probably be a good thing at your level.

Might wanna take a look at Seven Languages in Seven Weeks, I found it quite good for covering ground.

BurntCornMuffin
Jan 9, 2009


Shirec posted:

I'm really really new to programming so basically just padding out my skill set. My current plan is React, Python, and Java. I ultimately want to transition from web developer to software engineer. I'd like to keep a level of flexibility though so I don't get locked in. This may all sound wildly naive though, I am but a child in the woods.

It's not a bad plan, then. However, if you really want to have a deeper level understanding that "Engineer" implies, as you get comfortable with Java, follow that act with some C, then take some of those C projects and run them through an assembly debugger so you can see what's happening underneath all the comfortable abstractions.

Naar
Aug 19, 2003

The Time of the Eye is now
Fun Shoe

BurntCornMuffin posted:

It's not a bad plan, then. However, if you really want to have a deeper level understanding that "Engineer" implies, as you get comfortable with Java, follow that act with some C, then take some of those C projects and run them through an assembly debugger so you can see what's happening underneath all the comfortable abstractions.
I don't think this is necessarily good advice. The last time I did assembly/C was in university and I have literally never needed it.

raminasi
Jan 25, 2005

a last drink with no ice
My comment was intended to be less “node sucks” and more “node is boring.” :shobon: “Use whatever you want!” is so rare at an Actual Job that it’s worth taking advantage of as much as possible.

(Node might suck, I don’t know, I’ve just never used it.)

BurntCornMuffin
Jan 9, 2009


Naar posted:

I don't think this is necessarily good advice. The last time I did assembly/C was in university and I have literally never needed it.

A device driver developer or embedded developer would need it, as would people getting into malware research or anything with that level of crunch. It may not ever be relevant to most devs, since the abstractions are valuable for sanity/productivity, but if learning how computers do things is the goal, then it's very much how computers loving do things.

comedyblissoption
Mar 15, 2006

Naar posted:

:agreed:

Clojure's good, though.
I haven't used clojure, but I wrote some tiny programs in Common Lisp. I had the exact same type issues I had as with javascript programs. This was at a time when I thought dynamically typed languages were okay. Lisps are probably bad ityool 2018 specifically because they are dynamically typed. Gradual typing isn't sufficient.

Jose Valasquez
Apr 8, 2005

TooMuchAbstraction posted:

Syntactic whitespace is a subjective thing that a lot of people have strong opinions about on both sides. I'm curious what you mean about "executable typos" though.
code:
foobar = 1
if foodbar == 1
 do_something()

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

Jose Valasquez posted:

code:
foobar = 1
if foodbar == 1
 do_something()

If you have two very similarly-named symbols in the same scope, you'll have that problem in any language. In Python, if "foodbar" didn't exist before the if statement, then you'd get an UnboundLocalError or similar exception at runtime. A more realistic complaint would be something like
code:
foobar = 1
if some_conditional:
  foodbar = 2
which is perfectly legal and will result in two symbols existing whenever some_conditional is true.

I guess your complaint could be better-written as "I want explicit declarations for variables" instead of variables being implicitly created the first time they are assigned to. In which case, so do I, buddy.

Xarn
Jun 26, 2015

TooMuchAbstraction posted:

I guess your complaint could be better-written as "I want explicit declarations for variables" instead of variables being implicitly created the first time they are assigned to. In which case, so do I, buddy.

Who doesn't, really.

Good Will Hrunting
Oct 8, 2012

I changed my mind.
I'm not sorry.

TooMuchAbstraction posted:

A more realistic complaint would be something like
code:
foobar = 1
if some_conditional:
  foodbar = 2
which is perfectly legal and will result in two symbols existing whenever some_conditional is true.

Holy poo poo lol are there linters to handle this or something? Or do you have to actually execute this code (or in this case, execute the bug in a state which will cause that to be reached and then access it again, incorrectly I guess)?

Jaded Burnout
Jul 10, 2004


Good Will Hrunting posted:

Holy poo poo lol are there linters to handle this or something? Or do you have to actually execute this code (or in this case, execute the bug in a state which will cause that to be reached and then access it again, incorrectly I guess)?

Codeclimate picks up this sort of thing in Ruby, I'm guessing Python too.

Adbot
ADBOT LOVES YOU

spiritual bypass
Feb 19, 2008

Grimey Drawer
Any language that doesn't have interfaces is bad

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