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
hifi
Jul 25, 2012

pokeyman posted:

how do I rpm/apt on my macbook or my surface

and what does it mean to "de facto require a package manager"? I can copy/paste left-pad np


m

now install the 5000 other dependencies by hand to get angular or whatever running

Adbot
ADBOT LOVES YOU

VikingofRock
Aug 24, 2008




hifi posted:

i wish all the languages that de facto require a package manager would do rpm/apt integration instead of write their own poo poo mountain. the whole cpan/pip/npm cottage industry is a waste of time

Disagree. If they did that then when you were on your crusty old CentOS machine you would be stuck with 10 year old versions of every Python package.

That said, pip kinda sucks, and I haven't used cpan / npm. Stuff like cargo (for Rust) and stack (for Haskell) are both pretty cool and good though.

jony neuemonic
Nov 13, 2009

perl is and shall always be the least bad p-lang.

Luigi Thirty
Apr 30, 2006

Emergency confection port.

python

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

jony neuemonic posted:

perl is and shall always be the least bad p-lang.

My first ever terrible programming job was with perl and it allowed me to do magical things with multi-gigabyte chinese text files. Good times

VikingofRock
Aug 24, 2008




jony neuemonic posted:

perl is and shall always be the least bad p-lang.

I recently made the switch to python 3 and I am liking it quite a bit. It's still a p-lang, but it seems much more well-thought-out than other p-langs.

redleader
Aug 18, 2005

Engage according to operational parameters
is elixir considered a plang or an flang

DONT THREAD ON ME
Oct 1, 2002

by Nyc_Tattoo
Floss Finder
go is the best plang

carry on then
Jul 10, 2010

by VideoGames

(and can't post for 10 years!)

redleader posted:

is elixir considered a plang or an flang

pflang

Sapozhnik
Jan 2, 2005

Nap Ghost

Arcsech posted:

js itself isn't significantly worse than say, ruby (I'd still rather use python if I had to use a plang tho)

the libraries on npm though, oh my god. there's basically zero way to tell what will be a horrific mess under the hood and what will be kind of okay until it explodes on you

also similar to ruby, something about js makes people desperately want to abuse the dynamism and make bugnuts incomprehensible bullshit

the rats that fled the sinking ruby ship mostly fled to node.js

HoboMan
Nov 4, 2010

code:

C:\Windows\system32>npm ls webpack
`-- webpack@2.2.1
  +-- acorn@4.0.11
  +-- acorn-dynamic-import@2.0.1
  +-- ajv@4.11.3
  | +-- co@4.6.0
  | `-- json-stable-stringify@1.0.1
  |   `-- jsonify@0.0.0
  +-- ajv-keywords@1.5.1
  +-- async@2.1.4
  | `-- lodash@4.17.4
  +-- enhanced-resolve@3.1.0
  | +-- graceful-fs@4.1.11
  | `-- object-assign@4.1.1
  +-- interpret@1.0.1
  +-- json-loader@0.5.4
  +-- loader-runner@2.3.0
  +-- loader-utils@0.2.16
  | +-- big.js@3.1.3
  | +-- emojis-list@2.1.0
  | `-- json5@0.5.1
  +-- memory-fs@0.4.1
  | +-- errno@0.1.4
  | | `-- prr@0.0.0
  | `-- readable-stream@2.2.2
  |   +-- buffer-shims@1.0.0
  |   +-- core-util-is@1.0.2
  |   +-- inherits@2.0.3
  |   +-- isarray@1.0.0
  |   +-- process-nextick-args@1.0.7
  |   `-- util-deprecate@1.0.2
  +-- mkdirp@0.5.1
  | `-- minimist@0.0.8
  +-- node-libs-browser@2.0.0
  | +-- assert@1.4.1
  | +-- browserify-zlib@0.1.4
  | | `-- pako@0.2.9
  | +-- buffer@4.9.1
  | | +-- base64-js@1.2.0
  | | `-- ieee754@1.1.8
  | +-- console-browserify@1.1.0
  | | `-- date-now@0.1.4
  | +-- constants-browserify@1.0.0
  | +-- crypto-browserify@3.11.0
  | | +-- browserify-cipher@1.0.0
  | | | +-- browserify-aes@1.0.6
  | | | | `-- buffer-xor@1.0.3
  | | | +-- browserify-des@1.0.0
  | | | | `-- des.js@1.0.0
  | | | |   `-- minimalistic-assert@1.0.0
  | | | `-- evp_bytestokey@1.0.0
  | | +-- browserify-sign@4.0.0
  | | | +-- bn.js@4.11.6
  | | | +-- browserify-rsa@4.0.1
  | | | +-- elliptic@6.3.3
  | | | | +-- brorand@1.0.7
  | | | | `-- hash.js@1.0.3
  | | | `-- parse-asn1@5.0.0
  | | |   `-- asn1.js@4.9.1
  | | +-- create-ecdh@4.0.0
  | | +-- create-hash@1.1.2
  | | | +-- cipher-base@1.0.3
  | | | +-- ripemd160@1.0.1
  | | | `-- sha.js@2.4.8
  | | +-- create-hmac@1.1.4
  | | +-- diffie-hellman@5.0.2
  | | | `-- miller-rabin@4.0.0
  | | +-- pbkdf2@3.0.9
  | | +-- public-encrypt@4.0.0
  | | `-- randombytes@2.0.3
  | +-- domain-browser@1.1.7
  | +-- events@1.1.1
  | +-- https-browserify@0.0.1
  | +-- os-browserify@0.2.1
  | +-- path-browserify@0.0.0
  | +-- process@0.11.9
  | +-- punycode@1.4.1
  | +-- querystring-es3@0.2.1
  | +-- stream-browserify@2.0.1
  | +-- stream-http@2.6.3
  | | +-- builtin-status-codes@3.0.0
  | | +-- to-arraybuffer@1.0.1
  | | `-- xtend@4.0.1
  | +-- string_decoder@0.10.31
  | +-- timers-browserify@2.0.2
  | | `-- setimmediate@1.0.5
  | +-- tty-browserify@0.0.0
  | +-- url@0.11.0
  | | +-- punycode@1.3.2
  | | `-- querystring@0.2.0
  | +-- util@0.10.3
  | | `-- inherits@2.0.1
  | `-- vm-browserify@0.0.4
  |   `-- indexof@0.0.1
  +-- source-map@0.5.6
  +-- supports-color@3.2.3
  | `-- has-flag@1.0.0
  +-- tapable@0.2.6
  +-- uglify-js@2.7.5
  | +-- async@0.2.10
  | +-- uglify-to-browserify@1.0.2
  | `-- yargs@3.10.0
  |   +-- camelcase@1.2.1
  |   +-- cliui@2.1.0
  |   | +-- center-align@0.1.3
  |   | | +-- align-text@0.1.4
  |   | | | +-- longest@1.0.1
  |   | | | `-- repeat-string@1.6.1
  |   | | `-- lazy-cache@1.0.4
  |   | +-- right-align@0.1.3
  |   | `-- wordwrap@0.0.2
  |   `-- window-size@0.1.0
  +-- watchpack@1.2.1
  | `-- chokidar@1.6.1
  |   +-- anymatch@1.3.0
  |   | +-- arrify@1.0.1
  |   | `-- micromatch@2.3.11
  |   |   +-- arr-diff@2.0.0
  |   |   | `-- arr-flatten@1.0.1
  |   |   +-- array-unique@0.2.1
  |   |   +-- braces@1.8.5
  |   |   | +-- expand-range@1.8.2
  |   |   | | `-- fill-range@2.2.3
  |   |   | |   +-- is-number@2.1.0
  |   |   | |   +-- isobject@2.1.0
  |   |   | |   `-- randomatic@1.1.6
  |   |   | +-- preserve@0.2.0
  |   |   | `-- repeat-element@1.1.2
  |   |   +-- expand-brackets@0.1.5
  |   |   | `-- is-posix-bracket@0.1.1
  |   |   +-- extglob@0.3.2
  |   |   +-- filename-regex@2.0.0
  |   |   +-- kind-of@3.1.0
  |   |   | `-- is-buffer@1.1.4
  |   |   +-- normalize-path@2.0.1
  |   |   +-- object.omit@2.0.1
  |   |   | +-- for-own@0.1.4
  |   |   | | `-- for-in@0.1.6
  |   |   | `-- is-extendable@0.1.1
  |   |   +-- parse-glob@3.0.4
  |   |   | +-- glob-base@0.3.0
  |   |   | `-- is-dotfile@1.0.2
  |   |   `-- regex-cache@0.4.3
  |   |     +-- is-equal-shallow@0.1.3
  |   |     `-- is-primitive@2.0.0
  |   +-- async-each@1.0.1
  |   +-- glob-parent@2.0.0
  |   +-- is-binary-path@1.0.1
  |   | `-- binary-extensions@1.8.0
  |   +-- is-glob@2.0.1
  |   | `-- is-extglob@1.0.0
  |   +-- path-is-absolute@1.0.1
  |   `-- readdirp@2.1.0
  |     +-- minimatch@3.0.3
  |     | `-- brace-expansion@1.1.6
  |     |   +-- balanced-match@0.4.2
  |     |   `-- concat-map@0.0.1
  |     `-- set-immediate-shim@1.0.1
  +-- webpack-sources@0.1.4
  | `-- source-list-map@0.1.8
  `-- yargs@6.6.0
    +-- camelcase@3.0.0
    +-- cliui@3.2.0
    | `-- wrap-ansi@2.1.0
    +-- decamelize@1.2.0
    +-- get-caller-file@1.0.2
    +-- os-locale@1.4.0
    | `-- lcid@1.0.0
    |   `-- invert-kv@1.0.0
    +-- read-pkg-up@1.0.1
    | +-- find-up@1.1.2
    | | +-- path-exists@2.1.0
    | | `-- pinkie-promise@2.0.1
    | |   `-- pinkie@2.0.4
    | `-- read-pkg@1.1.0
    |   +-- load-json-file@1.1.0
    |   | +-- parse-json@2.2.0
    |   | | `-- error-ex@1.3.0
    |   | |   `-- is-arrayish@0.2.1
    |   | +-- pify@2.3.0
    |   | `-- strip-bom@2.0.0
    |   |   `-- is-utf8@0.2.1
    |   +-- normalize-package-data@2.3.5
    |   | +-- hosted-git-info@2.2.0
    |   | +-- is-builtin-module@1.0.0
    |   | | `-- builtin-modules@1.1.1
    |   | +-- semver@5.3.0
    |   | `-- validate-npm-package-license@3.0.1
    |   |   +-- spdx-correct@1.0.2
    |   |   | `-- spdx-license-ids@1.2.2
    |   |   `-- spdx-expression-parse@1.0.4
    |   `-- path-type@1.1.0
    +-- require-directory@2.1.1
    +-- require-main-filename@1.0.1
    +-- set-blocking@2.0.0
    +-- string-width@1.0.2
    | +-- code-point-at@1.1.0
    | +-- is-fullwidth-code-point@1.0.0
    | | `-- number-is-nan@1.0.1
    | `-- strip-ansi@3.0.1
    |   `-- ansi-regex@2.1.1
    +-- which-module@1.0.0
    +-- y18n@3.2.1
    `-- yargs-parser@4.2.1
      `-- camelcase@3.0.0
are you loving kidding me?

spiritual bypass
Feb 19, 2008

Grimey Drawer
all of those packages without a lockfile

a witch
Jan 12, 2017

I'm number-is-nan 1.0.1

Bognar
Aug 4, 2011

I am the queen of France
Hot Rope Guy

HoboMan posted:


are you loving kidding me?

:barf:

HoboMan
Nov 4, 2010

a witch posted:

I'm number-is-nan 1.0.1

i'm the implied bugfix release



e: no wait i'm is-arrayish v0.2.1

Finster Dexter
Oct 20, 2014

Beyond is Finster's mad vision of Earth transformed.

HoboMan posted:

e: no wait i'm is-arrayish v0.2.1

You are very important. Without you I won't be able to parse-json or load-json-file.

jony neuemonic
Nov 13, 2009

VikingofRock posted:

I recently made the switch to python 3 and I am liking it quite a bit. It's still a p-lang, but it seems much more well-thought-out than other p-langs.

it's mostly just my own personal hangups but i really, really don't like working with python. perl has all the same fundamental problems but at least it's fun to write.

jesus WEP
Oct 17, 2004


MALE SHOEGAZE posted:

go is the best plang
in that its used appropriately for a plang ie never by anyone

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

pissflange

HoboMan
Nov 4, 2010

HoboMan posted:

speaking of this poo poo, today is the first day of us going full web dev. i installed node and npm and used npm to get react and typescript and webpack
i already hate this toolchain
wish me luck!


terrible web dev's log, day 1:


i spent almost all of yesterday getting my poo poo set up so i can start bright and early today and really dig into it and start making a web app

i've been at this for an hour and i have already run into known bugs in both npm and react that are completely breaking my poo poo

GameCube
Nov 21, 2006

nrook posted:

I dunno, I don't think node is that bad. Like it's definitely bad, but it's not really worse than any other p-lang. npm is a reasonably good package manager too.

lol

hifi
Jul 25, 2012

lmao i thought there was no way, it's gotta be a silly stupid name for some really cool software package

nope https://www.npmjs.com/package/camelcase

HoboMan
Nov 4, 2010

hifi posted:

lmao i thought there was no way, it's gotta be a silly stupid name for some really cool software package

nope https://www.npmjs.com/package/camelcase

932,915 downloads in the last day

Mao Zedong Thot
Oct 16, 2008


it gets better https://github.com/SamVerschueren/uppercamelcase/blob/master/package.json#L25

https://github.com/SamVerschueren/uppercamelcase/blob/master/index.js

Mao Zedong Thot
Oct 16, 2008


javascript is an inexcusably garbage language, and the entire js ecosystem is the natural and expected accretion of the lowest common denominator trash people that would be drawn to such a thing

HoboMan
Nov 4, 2010

yes, instead of taking the tens of seconds to make a utility function for myself, let me take possibly even more time to introduce a dependency on my application instead
this is fine

necrotic
Aug 2, 2005
I owe my brother big time for this!

HoboMan posted:

terrible web dev's log, day 1:


i spent almost all of yesterday getting my poo poo set up so i can start bright and early today and really dig into it and start making a web app

i've been at this for an hour and i have already run into known bugs in both npm and react that are completely breaking my poo poo

If you have to make a react app with node use create-react-app it gives you a solid starting point.

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

HoboMan posted:

yes, instead of taking the tens of seconds to make a utility function for myself, let me take possibly even more time to introduce a dependency on my application instead
this is fine

and thus our 200000 line "<appname>shared.bas" was born

a witch
Jan 12, 2017

the talent deficit posted:

aws rds postgres is really good. use that

I'm going to do this I think. for now, the headache of dealing with aws is more manageable than paying an extra $550/m to heroku

VikingofRock
Aug 24, 2008





lisp too

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer
i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.

VikingofRock
Aug 24, 2008




jony neuemonic posted:

it's mostly just my own personal hangups but i really, really don't like working with python. perl has all the same fundamental problems but at least it's fun to write.

I used to feel this way too and then one day it just flipped and I actually started to like python. I think it was around when I was about to write a bunch of annoying and tricky code, and then I thought "hmmm I wonder if astropy has something for this" and sure enough it did. Also around the same time I put a bunch of effort into getting all the python tooling working nicely, so now pylint runs as I type and catches a lot of my bugs before I run them.

ulmont
Sep 15, 2010

IF I EVER MISS VOTING IN AN ELECTION (EVEN AMERICAN IDOL) ,OR HAVE UNPAID PARKING TICKETS, PLEASE TAKE AWAY MY FRANCHISE

LeftistMuslimObama posted:

i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.

Congrats!

redleader
Aug 18, 2005

Engage according to operational parameters

LeftistMuslimObama posted:

i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.

:toot:

anthonypants
May 6, 2007

by Nyc_Tattoo
Dinosaur Gum

LeftistMuslimObama posted:

i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.
:peanut:

JewKiller 3000
Nov 28, 2006

by Lowtax

LeftistMuslimObama posted:

i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.

:yotj:

VikingofRock
Aug 24, 2008




LeftistMuslimObama posted:

i just got an email from hr. my transfer was approved! i will apprise you of my figgies once they call me.

:hellyeah:

crazypenguin
Mar 9, 2005
nothing witty here, move along

hifi posted:

i wish all the languages that de facto require a package manager would do rpm/apt integration instead of write their own poo poo mountain. the whole cpan/pip/npm cottage industry is a waste of time

these package manager styles are incompatible. Mostly it's deficiencies in rpm/apt.

e.g. for doing development, it's best to be able to put your dependencies next to your project. RPM/APT are all system-wide only tools, so you cannot work on one project that uses pkg-v1 and another project that uses pkg-v2 at the same time. And you need to be administrator and make arbitrary changes to a machine just to compile poo poo.

for doing development, you want reproducible builds with specific versions of dependencies, with RPM/APT you get the latest version shut up.

for doing development, sometimes you use a tool that uses pkg-v1 while you're writing an app that uses pkg-v2 and you want both installed at the same time, and rpm/apt don't allow this because they don't actually place anything in package-specific locations, just dump poo poo in /usr! (Where apt/rpm do need to allow this, they mutate the name of the package instead of just allowing multiple versions. So you get gtk2 v2.22 and gtk3 v3.24 instead of two versions of gtk. It is arguble, imo, whether this is a better or worse system. On the one hand, it encodes some information about whether it "should" be okay to just update to the newest version of the package. OTOH, "should" belongs in god drat quotes, and as soon as you have a single failure of that should, the system falls apart.)

I'd love to work on fixing up apt/rpm so we could use them but I don't think the distros are at all interested, sadly.

Cocoa Crispies
Jul 20, 2001

Vehicular Manslaughter!

Pillbug

HoboMan posted:

yes, instead of taking the tens of seconds to make a utility function for myself, let me take possibly even more time to introduce a dependency on my application instead
this is fine


necrotic posted:

If you have to make a react app with node use create-react-app it gives you a solid starting point.

code:
fart@1.0.0 /private/tmp/fart
&#9492;&#9472;&#9516; create-react-app@1.0.4
  &#9500;&#9472;&#9516; chalk@1.1.3
  &#9474; &#9500;&#9472;&#9472; ansi-styles@2.2.1
  &#9474; &#9500;&#9472;&#9472; escape-string-regexp@1.0.5
  &#9474; &#9500;&#9472;&#9516; has-ansi@2.0.0
  &#9474; &#9474; &#9492;&#9472;&#9472; ansi-regex@2.1.1
  &#9474; &#9500;&#9472;&#9472; strip-ansi@3.0.1
  &#9474; &#9492;&#9472;&#9472; supports-color@2.0.0
  &#9500;&#9472;&#9516; commander@2.9.0
  &#9474; &#9492;&#9472;&#9472; graceful-readlink@1.0.1
  &#9500;&#9472;&#9516; cross-spawn@4.0.2
  &#9474; &#9500;&#9472;&#9516; lru-cache@4.0.2
  &#9474; &#9474; &#9500;&#9472;&#9472; pseudomap@1.0.2
  &#9474; &#9474; &#9492;&#9472;&#9472; yallist@2.0.0
  &#9474; &#9492;&#9472;&#9516; which@1.2.12
  &#9474;   &#9492;&#9472;&#9472; isexe@1.1.2
  &#9500;&#9472;&#9516; fs-extra@1.0.0
  &#9474; &#9500;&#9472;&#9472; graceful-fs@4.1.11
  &#9474; &#9500;&#9472;&#9472; jsonfile@2.4.0
  &#9474; &#9492;&#9472;&#9472; klaw@1.3.1
  &#9492;&#9472;&#9472; semver@5.3.0
i'm "supports-color@2.0.0"

Adbot
ADBOT LOVES YOU

Radio Paranoia
Jun 27, 2010

It is now safe to turn off your computer.

HoboMan posted:

yes, instead of taking the tens of seconds to make a utility function for myself, let me take possibly even more time to introduce a dependency on my application instead
this is fine

i've been interviewing people. "i've made helper libraries" illicits way too many bugged eyes than i'm comfortable with

  • Locked thread