|
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
|
# ? Dec 17, 2016 06:16 |
|
|
# ? May 22, 2024 12:22 |
|
thanks!
|
# ? Dec 17, 2016 06:39 |
|
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
|
# ? Dec 17, 2016 07:47 |
|
i figure being vulnerable to sql injection in a sneaky way fulfils any possible requirements they have of you
|
# ? Dec 17, 2016 13:15 |
|
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
|
# ? Dec 17, 2016 16:47 |
|
Malcolm XML posted:everything around Python numerics sucks pandas is ok 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
|
# ? Dec 17, 2016 16:54 |
|
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
|
# ? Dec 17, 2016 20:10 |
|
Malcolm XML posted:everything around Python numerics sucks pandas is ok 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.
|
# ? Dec 17, 2016 20:35 |
|
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.
|
# ? Dec 19, 2016 01:35 |
|
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 free..? at least unless your an enterprise at which point it's not your money and the money is probably there..
|
# ? Dec 19, 2016 01:40 |
|
have u tried iPython notebooks
|
# ? Dec 19, 2016 01:57 |
|
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
|
# ? Dec 19, 2016 04:44 |
|
Corla Plankun posted:i like python more than most people but i never got the point of notebooks it's just a better repl
|
# ? Dec 19, 2016 04:58 |
|
Corla Plankun posted:i like python more than most people but i never got the point of notebooks the visualization is nice
|
# ? Dec 19, 2016 05:55 |
|
carry on then posted:anyone who programs in java professionally is losing ground on the computer industry
|
# ? Dec 19, 2016 06:07 |
|
it'd be good if it wasn't browser based
|
# ? Dec 19, 2016 06:12 |
|
Haha. You guys like OO, Java, and C++ templates. Lets rename the thread, "Hardcore telco/enterprise programming circlejerk"
|
# ? Dec 19, 2016 06:14 |
|
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
|
# ? Dec 19, 2016 06:57 |
|
you also forgot erlang!
|
# ? Dec 19, 2016 06:59 |
|
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.
|
# ? Dec 19, 2016 07:03 |
|
Wheany posted:clearly you have opinions about programming. my opinion about programming is, its bad
|
# ? Dec 19, 2016 07:05 |
|
Asymmetrikon posted:my opinion about programming is, its bad
|
# ? Dec 19, 2016 07:08 |
|
this smiley's fuckin' me up
|
# ? Dec 19, 2016 07:51 |
|
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
|
# ? Dec 19, 2016 07:58 |
|
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.
|
# ? Dec 19, 2016 08:38 |
|
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
|
# ? Dec 19, 2016 08:43 |
|
Slurps Mad Rips posted:hi Sup buddy. For real though, templates could be way better, but there is some rather perverse fun to be had with them.
|
# ? Dec 19, 2016 08:50 |
|
C++ templates are a good way to do what C++ templates do haven't been reading hackbunny's posts btw
|
# ? Dec 19, 2016 09:32 |
|
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
|
# ? Dec 19, 2016 09:51 |
|
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
|
# ? Dec 19, 2016 10:25 |
|
c++ template discussion gave this dead gay thread a second life
|
# ? Dec 19, 2016 10:31 |
|
has anyone complained about rust yet
|
# ? Dec 19, 2016 10:38 |
|
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
|
# ? Dec 19, 2016 10:57 |
|
tef posted:don't say that they'll start explaining STL again let me tell you about std::launder *vomits for days*
|
# ? Dec 19, 2016 10:57 |
|
tef posted:has anyone complained about rust yet yeah, some nerd, but mostly on twitter
|
# ? Dec 19, 2016 11:00 |
|
Slurps Mad Rips posted:let me tell you about std::launder Holy poo poo that exists, I thought it was a joke.
|
# ? Dec 19, 2016 11:00 |
|
so as an imperative scumlord, rust looks kinda interesting to meredleader posted:no, but i can give it a shot! lol
|
# ? Dec 19, 2016 11:02 |
|
close to the metal
|
# ? Dec 19, 2016 11:02 |
|
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 |
# ? Dec 19, 2016 11:28 |
|
|
# ? May 22, 2024 12:22 |
|
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.
|
# ? Dec 19, 2016 11:36 |