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
MononcQc
May 29, 2007

good: amazing powerful, concise, mind-bending
bad: unfamiliar, not popular enough for people not to be jerks about it all the time, tricky performance profile for a bunch of stuff

Adbot
ADBOT LOVES YOU

WINNINGHARD
Oct 4, 2014

thanks!

tef
May 30, 2004

-> some l-system crap ->

WINNINGHARD posted:

why is prolog good/bad?

the good:

like, y'know how regexes are good for text, and sql is good for tabular data, well, prolog is sorta good at both

things where you have some patterns, some data, defined together and want to work out if some possible thing matches. a query language

it is real good for symbolic manipulation or translation, i mean, a prolog program is in some ways a grammar that describes your solution



the bad:

you know sql, regexes, now imagine something with the readability of neither

gonadic io
Feb 16, 2011

>>=

i figure being vulnerable to sql injection in a sneaky way fulfils any possible requirements they have of you

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

fritz posted:

whys that

everything around Python numerics sucks pandas is ok

its slow as gently caress and I want my good type system and intellisense and poo poo and a real good debugger and multithreading

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal

Malcolm XML posted:

everything around Python numerics sucks pandas is ok

its slow as gently caress and I want my good type system and intellisense and poo poo and a real good debugger and multithreading

for intellisense and debugging, you might want to try the visual studio python tools. i started using them not too long ago, mostly for tensorflow stuff, and they seem alright so far

JewKiller 3000
Nov 28, 2006

by Lowtax

WINNINGHARD posted:

why is prolog good/bad?

the good: prolog is extremely high level because you don't even have to write control flow. like tef said, you define your data and relations about it in terms of patterns over that data. then you can use the relations you defined to ask questions about your data, and prolog will perform a backtracking search algorithm to satisfy them. this algorithm is really powerful and can handle lots of prototyping situations elegantly, without you having to write any control flow code. the super neat part is that, while in other languages you might define a function f from X to Y, where you supply an input X and it returns an output Y... in prolog you actually have a relation f(X, Y) with full unification. you can put in X values and it will give you Ys. or you can put in Ys and it will give you Xs ("calling the function backward"). or you can put in neither, just variables like that, and prolog will start printing out the general search patterns that would match

the bad: sometimes prolog's backtracking algorithm doesn't exactly match what you need, and you have to actually write some control flow, using something called a "cut". as soon as you do that, all the neat stuff from above no longer applies, and you might as well dehumanize yourself and face to a real programming language :(

Communist Pie
Mar 11, 2007

...Robot!

Malcolm XML posted:

everything around Python numerics sucks pandas is ok

its slow as gently caress and I want my good type system and intellisense and poo poo and a real good debugger and multithreading

If most of the heavy lifting is done with python math + numpy functions, numba can at least help with the first and last problem. JITed code can run concurrently in threads, vectorized code can use CUDA, etc.

Malcolm XML
Aug 8, 2009

I always knew it would end like this.

Communist Pie posted:

If most of the heavy lifting is done with python math + numpy functions, numba can at least help with the first and last problem. JITed code can run concurrently in threads, vectorized code can use CUDA, etc.

the numpy stuff is fine since its all c but I forgot how poo poo Python is when it comes to stuff like multithreading and just generally being slow as gently caress to do anything, and all the goddamn little bugs that aren't caught by the type system

vs is too expensive.

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Malcolm XML posted:

the numpy stuff is fine since its all c but I forgot how poo poo Python is when it comes to stuff like multithreading and just generally being slow as gently caress to do anything, and all the goddamn little bugs that aren't caught by the type system

vs is too expensive.

vs is free..? at least unless your an enterprise at which point it's not your money and the money is probably there.. :shrug:

JawnV6
Jul 4, 2004

So hot ...
have u tried iPython notebooks :v:

Corla Plankun
May 8, 2007

improve the lives of everyone
i like python more than most people but i never got the point of notebooks

one of my coworkers tried to explain to me how i could just type some magic word to repeat a line instead of copy paste but who needs that in their life bad enough to start programming in a drat browser

raminasi
Jan 25, 2005

a last drink with no ice

Corla Plankun posted:

i like python more than most people but i never got the point of notebooks

one of my coworkers tried to explain to me how i could just type some magic word to repeat a line instead of copy paste but who needs that in their life bad enough to start programming in a drat browser

it's just a better repl

FamDav
Mar 29, 2008

Corla Plankun posted:

i like python more than most people but i never got the point of notebooks

one of my coworkers tried to explain to me how i could just type some magic word to repeat a line instead of copy paste but who needs that in their life bad enough to start programming in a drat browser

the visualization is nice

Moreleth
Jun 11, 2001

lego my eggo

carry on then posted:

anyone who programs in java professionally is losing ground on the computer industry

never program in java

Bloody
Mar 3, 2013

it'd be good if it wasn't browser based

Moreleth
Jun 11, 2001

lego my eggo

Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"

The MUMPSorceress
Jan 6, 2012


^SHTPSTS

Gary’s Answer

Moreleth posted:

Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"

how about the employability megathread instead

redleader
Aug 18, 2005

Engage according to operational parameters
you also forgot erlang!

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Moreleth posted:

Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"

Don't leave us hanging like that, clearly you have opinions about programming.

Asymmetrikon
Oct 30, 2009

I believe you're a big dork!

Wheany posted:

clearly you have opinions about programming.

my opinion about programming is, its bad

Wheany
Mar 17, 2006

Spinyahahahahahahahahahahahaha!

Doctor Rope

Asymmetrikon posted:

my opinion about programming is, its bad

:prepop:

raminasi
Jan 25, 2005

a last drink with no ice

this smiley's fuckin' me up

gonadic io
Feb 16, 2011

>>=

Moreleth posted:

Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"

actually i don't really like any of these.

i do like python as a lang to teach beginners in. i like types when i'm actually working though.

just last week i was given the task to rename a var in a dynamic lang (among other things).

how do i check that i got all occurrences (it's a common word so searching for it gives lots of irrelevant poo poo)? just run the 2.5 hour unit tests and trust that they cover all the cases where it was used. nbd.

in a static lang this is a trivial problem that nobody even things about. 1) your IDE will have good rename support and 2) even if it doesn't, just compile once and problem solved

aardvaard
Mar 4, 2013

you belong in the bog of eternal stench

Moreleth posted:

Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"

this thread is rather split on OO, likes Java only for its real world applicability, and i don't think there's anyone here who likes C++ templates.

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

CommunistPancake posted:

this thread is rather split on OO, likes Java only for its real world applicability, and i don't think there's anyone here who likes C++ templates.

hi

gimme some of that sweet sweet two phase lookup on the reg

Xarn
Jun 26, 2015

Slurps Mad Rips posted:

hi

gimme some of that sweet sweet two phase lookup on the reg

Sup buddy.

For real though, templates could be way better, but there is some rather perverse fun to be had with them.

Gazpacho
Jun 18, 2004

by Fluffdaddy
Slippery Tilde
C++ templates are a good way to do what C++ templates do

haven't been reading hackbunny's posts btw

tef
May 30, 2004

-> some l-system crap ->

CommunistPancake posted:

this thread is rather split on OO, likes Java only for its real world applicability, and i don't think there's anyone here who likes C++ templates.

don't say that they'll start explaining STL again

tef
May 30, 2004

-> some l-system crap ->
are you building a shitbox: python's fine

are you building an enterprise shitbox: java's fine

are you doing something that needs Swift, Go, C++, C, Ruby, JavaScript, Mumps, great whatever shut-up

hackbunny
Jul 22, 2007

I haven't been on SA for years but the person who gave me my previous av as a joke felt guilty for doing so and decided to get me a non-shitty av
c++ template discussion gave this dead gay thread a second life

tef
May 30, 2004

-> some l-system crap ->
has anyone complained about rust yet

redleader
Aug 18, 2005

Engage according to operational parameters
no, but i can give it a shot!

fad lang, will be dead in 2-3 years, apart from the legacy code left over in gecko. uses type system wankery to solve problems that don't exist. not close enough to the metal. fp paradigms have no place in a systems language

Slurps Mad Rips
Jan 25, 2009

Bwaltow!

tef posted:

don't say that they'll start explaining STL again

let me tell you about std::launder

*vomits :words: for days*

Vanadium
Jan 8, 2005

tef posted:

has anyone complained about rust yet

yeah, some nerd, but mostly on twitter

Xarn
Jun 26, 2015

Slurps Mad Rips posted:

let me tell you about std::launder

*vomits :words: for days*

Holy poo poo that exists, I thought it was a joke. :aaaaa:

tef
May 30, 2004

-> some l-system crap ->
so as an imperative scumlord, rust looks kinda interesting to me

redleader posted:

no, but i can give it a shot!

fad lang, will be dead in 2-3 years, apart from the legacy code left over in gecko. uses type system wankery to solve problems that don't exist. not close enough to the metal. fp paradigms have no place in a systems language

lol

tef
May 30, 2004

-> some l-system crap ->
close to the metal

tef
May 30, 2004

-> some l-system crap ->
so you've got swift. i like swift but it's immature outside of it's natural home

there's go, or "imagine C without include files, a GC, a hash table, a list, and a unicode string type" and also "don't dream much higher than that buddy but we did bake unix pipes into the language as a stream type". also, did you like iTunes? we've got this thing called GOPATH

and there's C and C++ but let's just say i'm a big baby who hates include files

so, yeah, given all of that, there's rust:

- if you put *mut and unsafe everywhere, it's kinda like programming in C
- the typeclass system is kinda nice tbh
- the semantic missing semicolon is a hilarious design decision
- the standard library was influenced by ruby but seemed to have learned nothing from ruby (the argument to foo.expect() is the error message)
- who needs named arguments when you have builders
- the ownership mechanic seems nice when you think about keeping around a dynamic sized object on the heap tied to the lifetime of the stack object
- the ownership mechanic errors are not as useful as you'd want, and the mechanic itself sorta means writing a collection is hard
- lots of whacky edge cases with return & let match for borrowing too.

on the other hand, it's got a pretty small complexity budget: apart from understanding the borrow checker, the language is pretty easy to pick up in an afternoon if you have some other languages behind you. i don't think c++ has that.

the real problem i have with rust is what it shares with c++: the "pay for what you use" mentality of language design

in the production systems i've worked on, it's usually a small subset that benefits from performance changes. with rust, the assumption is sorta that your entire program needs to be 2fast2furious, and you must annotate it heavily to use a feature.

i kinda admire that Rc, Arc, etc are implemented inside of Rust, rather than being provided by it, but i'd rather *opt* in to uniqueness types, i'd rather stick everything on the heap and let the compiler elide what it can, using escape analysis. and at that point, start annotating what it can't handle, or what must explicitly be done.

at the same time as rust's primitives are inside of rust, they still haven't quite got tracing, or custom allocators for data structures.


i guess if java was about "bringing c++ halfway to common lisp" then rust took them all the way there and no-one stopped them

tef fucked around with this message at 11:30 on Dec 19, 2016

Adbot
ADBOT LOVES YOU

gonadic io
Feb 16, 2011

>>=
Rust's lifetimes have a learning curve just as bad as haskell's monads. It'll be interesting to see if Rust gets a similar rep or if the more intuitive name is enough to avoid it.

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