|
comedyblissoption posted:does a C book even exist that properly tells you about all the UB and memory corruption horrors inherent in the language or are such lessons only learned by banging your head over decades from an initial naivete of thinking C was simple and you were smart enough not to make mistakes the fish book (aka “expert c programming”) is pretty interesting, even the straight out of 1995 chapter on oop Suspicious Dish posted:at some point i should finish this but i had way too much fun writing the code editor hoping that by the time i wrote that i'd figure out what to use it for tinaun fucked around with this message at 01:23 on Nov 25, 2017 |
# ? Nov 25, 2017 01:20 |
|
|
# ? May 17, 2024 06:15 |
|
zed shaw
|
# ? Nov 25, 2017 01:50 |
|
first he was a rubyist and then ruby was a ghetto, etc, because the rails server just restarted rather than fixing ruby's memory leaks then he did python but his condition was that he parachute his work untouched into the stdlib iirc anyway he then went on a timecube-esque rant which boiled down to "why aren't the python devs doing what is convenient for me" i mean py3 was a shitshow but zed's a jerk
|
# ? Nov 25, 2017 02:00 |
|
tef posted:zed's a jerk
|
# ? Nov 25, 2017 02:16 |
|
Zed's dead baby, Zed's dead
|
# ? Nov 25, 2017 02:19 |
|
carry on then posted:another "programming education should start with logic gates" vs "programming education should start with SICP' argument's a-brewin if you start with SICP you should be to designing your own CPU in a Scheme-flavored HDL and targeting a Scheme compiler to it by the end of the semester
|
# ? Nov 25, 2017 12:36 |
|
Suspicious Dish posted:at some point i should finish this but i had way too much fun writing the code editor hoping that by the time i wrote that i'd figure out what to use it for I didn’t see a mention that canvas was a way of exposing the CoreGraphics API to HTML5/JavaScript so it could be used by Dashboard widgets, and that’s why there’s a 1:1 translation of PostScript to JavaScript possible… I seem to recall Dave Winer having a tantrum, because he’d wanted QuickDraw for HTML for years, and the PostScript imaging model was just too hard for him to deal with
|
# ? Nov 25, 2017 12:45 |
|
tef posted:anyway he then went on a timecube-esque rant which boiled down to his py3 rant is what a lot of the complaints about Swift strings over the years have reminded me of Swift strings didn’t let developers do “simple and obvious” things that were only actually valid in US-ASCII encoding because, guess what, US-ASCII encoding is insufficient for the real world also virtually everything developers wanted to do was already handled by the standard library or by Foundation already (e.g. get or elide path extension, match prefix/suffix, check whether string contains, extract path components, etc.) multiple generations of programmers have been misled into believing strings are easy, they’re not and getting mad at more correct implementations just makes one look ignorant
|
# ? Nov 25, 2017 12:55 |
|
The fact that the term "string" alternately means "array of bytes" and "piece of text" is a huge part of that problem.
|
# ? Nov 25, 2017 13:15 |
|
the real problem with python3 remains that it demonstrated that the maintainers valued their own desires higher than those of the people who made large investments in the platform. the value inherent in python itself, and the brain power applied in creating it, is a miniscule fraction compared to the value in, and smarts invested in, all software that ran (and, often, still runs) on python2 one thing to mess about with things for very young languages (like early versions of rust and swift), but a clear commitment to keeping your users code running, and easy to iterate on for future requirements (even if this means that not everything in the implementation is pretty), is almost implicit in how fundamental a requirement it is for a useable programming language and platform
|
# ? Nov 25, 2017 13:23 |
|
Doom Mathematic posted:The fact that the term "string" alternately means "array of bytes" and "piece of text" is a huge part of that problem. Agreed.
|
# ? Nov 25, 2017 13:26 |
|
eschaton posted:if you start with SICP you should be to designing your own CPU in a Scheme-flavored HDL and targeting a Scheme compiler to it by the end of the semester oh, the "you should already be an experienced programmer by the time you graduate high school or you aren't passionate enough" argument. heard that one too
|
# ? Nov 25, 2017 14:57 |
|
carry on then posted:oh, the "you should already be an experienced programmer by the time you graduate high school or you aren't passionate enough" argument. heard that one too i interpreted it as “if you’re going to do SICP you should do all of it”
|
# ? Nov 25, 2017 15:41 |
|
If you just do the first 2-3 chapters of SICP with exercises you're already in a good spot. You don't necessarily need to do all of 4 and 5 (more related to language implementations) even if it would be a good experience.
|
# ? Nov 25, 2017 16:27 |
whats the role of scala in "big data science" and why
|
|
# ? Nov 25, 2017 16:32 |
|
cinci zoo sniper posted:whats the role of scala in "big data science" and why it's the language of the technology du jour spark
|
# ? Nov 25, 2017 16:50 |
Malcolm XML posted:it's the language of the technology du jour spark that i think ive heard, but did it happen by chance or are there specific reasons that make scala better for it than, say, java or c#
|
|
# ? Nov 25, 2017 16:53 |
|
cinci zoo sniper posted:that i think ive heard, but did it happen by chance or are there specific reasons that make scala better for it than, say, java or c# basically spark was being developed while java was in the long limbo between 7 and 8, so the spark guys went with the only language on the jre that supported lambdas at that time
|
# ? Nov 25, 2017 17:10 |
ComradeCosmobot posted:basically spark was being developed while java was in the long limbo between 7 and 8, so the spark guys went with the only language on the jre that supported lambdas at that time oic, ty
|
|
# ? Nov 25, 2017 17:22 |
|
carry on then posted:oh, the "you should already be an experienced programmer by the time you graduate high school or you aren't passionate enough" argument. heard that one too raminasi posted:i interpreted it as “if you’re going to do SICP you should do all of it” it was the latter also SICP assumes you’re starting from scratch with programming
|
# ? Nov 25, 2017 17:31 |
|
eschaton posted:it was the latter i know it's from mit but a fully working cpu AND compiler designed and debugged seems a bit hard for even an expert to do in a semester but my bs cs was unranked so maybe i'm just extremely dumb and bad
|
# ? Nov 25, 2017 17:52 |
|
carry on then posted:i know it's from mit but a fully working cpu AND compiler designed and debugged seems a bit hard for even an expert to do in a semester even MIT didn’t get through the book in a semester
|
# ? Nov 25, 2017 17:55 |
|
carry on then posted:i know it's from mit but a fully working cpu AND compiler designed and debugged seems a bit hard for even an expert to do in a semester perhaps it was some kind of "joke"
|
# ? Nov 25, 2017 23:13 |
|
Cybernetic Vermin posted:the real problem with python3 remains that it demonstrated that the maintainers why aren't these people doing free work that benefits me???
|
# ? Nov 25, 2017 23:42 |
|
tef posted:why aren't these people doing free work that benefits me??? lots of other people stepped up to do free work that benefitted them, but the maintainers pushed the community away since they had their own plans for python3.
|
# ? Nov 25, 2017 23:44 |
|
python's mistake was breaking the ABI and the language at the same time which meant library authors would not port until users moved and users would not port until libraries were there they also made a huge mistake on 2to3, meanwhile things like 'ok strings can have u"" at the front in 3 too' and the six library took forever 3.3 was the first usable version, and it wasn't until 3.5 that it made a difference python two, on the other hand, has been supported for way way longer than contemporaries although, looking at ruby, maybe the mistake wasn't breaking stuff quickly enough, because the userbase is far more entitled
|
# ? Nov 25, 2017 23:45 |
tef posted:python's mistake was breaking the ABI and the language at the same time whats the 2on3 mistake
|
|
# ? Nov 25, 2017 23:48 |
|
i still think the unicode thing was badly planned, badly designed, and too hastily implemented. and just like microsoft and their utf16 unicode, by the time that python3 was released people realized that codepoints are a bad unit to split text into, and a better option is grapheme clusters whoops
|
# ? Nov 25, 2017 23:52 |
|
tef posted:why aren't these people doing free work that benefits me??? this remains the worst argument in the world (while annoyingly also being one of the most common whenever any sort of argument an open source project being poo poo comes up). unless, of course, you *actually* want to make the point that open source volunteer software is fundamentally not a trustworthy basis for any kind of serious system. i have not myself found that to be a general truth, rather it just happens that the python crowd specifically turned out to be either really bad at what they are trying to do, or possibly have some very weird vision of what they want to achieve which i think i would need some much more in-depth explanation of before i can really judge
|
# ? Nov 25, 2017 23:56 |
|
Cybernetic Vermin posted:this remains the worst argument in the world i know it upsets you because it's true and you're a petulant baby, but eh
|
# ? Nov 26, 2017 00:10 |
|
Suspicious Dish posted:i still think the unicode thing was badly planned, badly designed, and too hastily implemented. and just like microsoft and their utf16 unicode, by the time that python3 was released people realized that codepoints are a bad unit to split text into, and a better option is grapheme clusters like splitting text up into characters to preserve array like access is the mistake
|
# ? Nov 26, 2017 00:11 |
|
the problem with a lot of these types of discussion is that a lot of it is built on expectations. we expected a lot out of python 3, and there were a lot of missed opportunities and it fell short of what could have been. but, in the meantime, people are still building stuff with python 3 and are enjoying using it and it's not like 99% of people are spending vast portions of time working around the atrocities py3k hath wrought i always find myself in this weird spot where I find myself completely agreeing with most people's criticisms while at the same time barely even caring
|
# ? Nov 26, 2017 00:14 |
Thermopyle posted:i always find myself in this weird spot where I find myself completely agreeing with most people's criticisms while at the same time barely even caring kinda same. i didnt care for python 3 until last year or so, but now the adoption for everything i need is there so im using it and preferring it over python 2 even if we disregard all the support circumstances
|
|
# ? Nov 26, 2017 00:18 |
|
seriously though, can you imagine if java 5 would have launched with a 4to5 which crudely attempted to replace non-generic uses of collections with generic versions to facilitate changing the bytecode because the developers were too fragile snowflakes to tolerate the ugliness of having the disconnect between the compiler view of the types and the bytecodes? the loving billions of dollars poured into reengineering and revalidating software, combing over it all to migrate it forwards, and backwards, trying to bridge the gap between 4 and 5. the vast swathes of the landscape which would, entirely rationally, forever be stuck on 4. over what basically amounted to a handful of autists figuring this was all their own special adventure, with no need to have any regard for anyone elses realities in the context luckily the broader industry was suspicious towards relying on open-source and volunteer-driven software to that extent, so python was not quite where java was at, but i personally sure would have preferred to not have them so thoroughly legitimize stereotypes about vendor reliance
|
# ? Nov 26, 2017 00:19 |
|
as someone that does a lot of reverse engineering, network protocols, and in a lot of cases, deals with completely hosed filenames, python3 is a lot worse of a language for me. i understand that people implementing database skins love it and it probably works much better for their use case, but it's a much worse language for me, and i feel disappointed by the lack of a language that fills the same niche that python 2 filled.
|
# ? Nov 26, 2017 00:46 |
|
cinci zoo sniper posted:whats the 2on3 mistake since nobody said this yet, they released a tool called "2to3" which claimed to port your code from python 2 to python 3, but was ultimately useless. people kept complaining about it and the core python team basically did gently caress all to help them until python 3.3. most libraries remain both python2 and python3 compatible which means you can't use any of the cool new features of python3 and have to deal with the maniacal incompatible syntax things between them.
|
# ? Nov 26, 2017 00:50 |
Suspicious Dish posted:since nobody said this yet, they released a tool called "2to3" which claimed to port your code from python 2 to python 3, but was ultimately useless. people kept complaining about it and the core python team basically did gently caress all to help them until python 3.3. i see. i was aware of the tool but never had to use it. sounds like a really stupid think to gently caress up if it was a first party thing, which i assume it is re: your other post, what problems do you face with filenames in py3 that weren't there in py2?
|
|
# ? Nov 26, 2017 00:52 |
|
so, the analogies with statically-typed languages are weak here because part of what makes dynamically-typed languages work is never having incompatible types for the same kind of data. e.g. either there is one basic number type or the different number types implicitly promote when you add them, for a sort of duck-typing effect. that is what drives some people crazy about python3 strings, they think of byte-strings and text-strings as basically the same kind of data and so they don’t have a good mental model of when something ought to expect one or the other, so they have dynamic type errors all the time because there’s a good reason those aren’t compatible types. in a statically-typed system this isn’t a problem because the type system very naturally lets you know when you missed a conversion, which is why both java and c# were able to redesign their collections without massively breaking the world
|
# ? Nov 26, 2017 01:02 |
i completely dont get the byte-string and text-string difference, or its implications even if its my naive assumption that one is array of bytes, and other is array of chars but that shouldnt be news to anyone who has seen me post over in tp thread, and doesnt affect the stuff i "code" either, since it's number crunching all the way donw
|
|
# ? Nov 26, 2017 01:07 |
|
|
# ? May 17, 2024 06:15 |
|
rjmccall posted:part of what makes dynamically-typed languages
|
# ? Nov 26, 2017 01:14 |