|
cinci zoo sniper posted:what if i dont know the program i need
|
# ? Oct 26, 2018 18:54 |
|
|
# ? Jun 12, 2024 13:11 |
|
i was a huge 'dynamic langs are more productive than static langs' person when my only good options for a static lang were java, c# and c++. things are different here in 2018 tho and i dunno why anyone would choose ruby or python for more than a bash replacement when they can choose from so many static languages that actually take tooling and ergonomics into account
|
# ? Oct 26, 2018 19:14 |
|
if you still refuse to use c# and java in 2018 you haven't left that junior dev mindset.
|
# ? Oct 26, 2018 19:15 |
|
Shaggar posted:if you still refuse to use c# and java in 2018 you haven't left that junior dev mindset. i like big runtimes and i cannot lie
|
# ? Oct 26, 2018 19:35 |
|
Gazpacho posted:people said the same things about VB.net, called it VB.Not and such. so what, legacy VB was trash vb.net had nothing in common with vb it's not like "porting vb to vb.net is hard" it's more "vb and vb.net share no APIs, concepts, or syntax"
|
# ? Oct 26, 2018 19:46 |
|
Sapozhnik posted:Python 3 and python 2 are two different programming languages with similar names so I can see why people might get confused. this was zed's argument. it was stupid when he put it to paper, and it's still stupid when you say it here.
|
# ? Oct 26, 2018 19:46 |
|
why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern?
|
# ? Oct 26, 2018 19:57 |
the talent deficit posted:i was a huge 'dynamic langs are more productive than static langs' person when my only good options for a static lang were java, c# and c++. things are different here in 2018 tho and i dunno why anyone would choose ruby or python for more than a bash replacement when they can choose from so many static languages that actually take tooling and ergonomics into account i dont do software engineering. for what i do, the only language with 3rd party library ecosystem somewhere on python's radar is r
|
|
# ? Oct 26, 2018 19:59 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern? Smaller functions are Easier to Reason About™ and could potentially be targeted by unit tests individually before their composed into a complex task.
|
# ? Oct 26, 2018 19:59 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern? you should trust the compiler more
|
# ? Oct 26, 2018 20:01 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern?
|
# ? Oct 26, 2018 20:02 |
|
mega functions loving suck to look at
|
# ? Oct 26, 2018 20:17 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern? It gives things a meaningful name, letting other code become more readable. Just today, I wrote two functions with a single call site: code:
code:
|
# ? Oct 26, 2018 20:22 |
|
Go team trying to avoid a Python 2 to Python 3 problem when going from Go 1 to Go 2: https://github.com/golang/proposal/blob/master/design/28221-go2-transitions.md Go team inventing new keyword (not that dissimilar from defer) to make explicit error-handling a little more elegant than "repeat code everywhere" and "if error goto a block which may be full of if statements": https://go.googlesource.com/proposal/+/master/design/go2draft-error-handling-overview.md
|
# ? Oct 26, 2018 20:36 |
|
I'm kind of amazed at all the attempts for technological solutions to breaking changes here. It kind of seems to me that if you go the social route and avoid having 15 years of never-breaking changes and instead routinely break a few small things here and there on a well-defined schedule, the habit of small migrations is taken in stride by most of the community. Display big warnings on features to be deprecated, give a few years before taking something out, and off you go. Maybe I'm just daft but it seems that if people knew and accepted the need that from time to time, you'll need to keep all your libs up to date a little bit and that you could progressively upgrade and do the changes, you wouldn't find yourself in the python (and potentially golang) situation of risking a huge divide of "so many old code bases we can't port in one go" and "I need the new features to work halp." Instead people would be like "Holy poo poo yes bring in the new features, all I have to pay is a small cost of cleaning old poo poo up to get the new stuff." It incentivizes things a bit better, and smoothes the total effort of porting things over longer periods of times and smaller tasks for contributors or corporations. It would be easier to internalize and amortize the cost it seems to me.
|
# ? Oct 26, 2018 20:53 |
|
I think the way rust "editions" are supposed to work is that each crate chooses which edition it's using but the new compilers can still compile code using previous editions and a single project can have dependencies that use different editions. This seems like a decent compromise. If it was me, based on the python experience I might even go further and allow different sections of the same file to use different versions if this wasn't to crazy to implement.
|
# ? Oct 26, 2018 20:58 |
|
Go did do that early in its history with technological solutions. The language was meant to be simple so as to be easily manipulated and "go vet" and "go fix" were reportedly quite helpful as they changed language features and core library APIs
|
# ? Oct 26, 2018 20:59 |
|
MononcQc posted:Instead people would be like "Holy poo poo yes bring in the new features, all I have to pay is a small cost of cleaning old poo poo up to get the new stuff." It incentivizes things a bit better, and smoothes the total effort of porting things over longer periods of times and smaller tasks for contributors or corporations. it seems like they would be but the experience with Swift is that developers hate migrating from one language version to another even if there are automated tools to do most of the work for you
|
# ? Oct 26, 2018 21:08 |
|
eschaton posted:it seems like they would be but the experience with Swift is that developers hate migrating from one language version to another even if there are automated tools to do most of the work for you it's the same with java. while there might be isolated pockets of developers who get excited about lambdas or streams or var being added, my experience is most view adopting a new level of java (se/ee) as part of the cost of continuing to receive service from oracle/ibm/whoever
|
# ? Oct 26, 2018 21:13 |
|
eschaton posted:it seems like they would be but the experience with Swift is that developers hate migrating from one language version to another even if there are automated tools to do most of the work for you they'll always hate it, but to me the actual question is whether they'd hate it more than waiting to put all the breaking changes in just one big release that breaks everything, even with if you introduce about 5-6 different mechanisms to "break but not break things"
|
# ? Oct 26, 2018 21:14 |
|
the talent deficit posted:i was a huge 'dynamic langs are more productive than static langs' person when my only good options for a static lang were java, c# and c++. things are different here in 2018 tho
|
# ? Oct 26, 2018 21:14 |
|
gradle has been throwing out occasional messages about things being removed in gradle 5.0 for over a year now, can't wait to see how blindsided people try to claim they were
|
# ? Oct 26, 2018 21:15 |
|
the talent deficit posted:i was a huge 'dynamic langs are more productive than static langs' person when my only good options for a static lang were java, c# and c++. things are different here in 2018 tho and i dunno why anyone would choose ruby or python for more than a bash replacement when they can choose from so many static languages that actually take tooling and ergonomics into account i'm glad u found golang
|
# ? Oct 26, 2018 21:15 |
|
they called it windows 95 but it's actually a different os than windows 3.11
|
# ? Oct 26, 2018 21:20 |
carry on then posted:gradle has been throwing out occasional messages about things being removed in gradle 5.0 for over a year now, can't wait to see how blindsided people try to claim they were okay, illl start maven is good
|
|
# ? Oct 26, 2018 21:20 |
|
carry on then posted:gradle has been throwing out occasional messages about things being removed in gradle 5.0 for over a year now, can't wait to see how blindsided people try to claim they were Build tools are kind of in a special category there, because while a program can support multiple versions of a language, the things that let you do that tend to be related to the build tool you have. Like it makes sense to vendor the build tool with programs for long term future support, but the build tool I maintain had to forcefully deprecate older versions because they could only build on older language definitions that no longer supported good enough TLS (in fact it only supported SSL) which meant it could no longer interact with packages or github/bitbucket over https, for example. Funnily enough the previous implementation of the build tool did what I initially asked for -- introduce breaking changes over time -- but it was a nightmare for everyone because that meant that if you wanted to build a project, you not only had to care about the library's version and which language versions it supported, but you also had to know which version of the build tool it used to know if it could be working at all. Build tools are probably one case where you have to plan for multi-year deprecation schedules that are well communicated because your users care about all the libraries for all the language versions for all the related systems at once and you very hardly can deprecate one bit without huge ripple effects; if your tool drops compat for older language versions, then your tool is preventing language update schedules. We have some partial backwards compat for the older incarnation of the tool, and still today, some projects are actively migrating to the new tool and people can use a config format that's 90% backwards compatible (and has escape hatches otherwise) with a tool that has been unmaintained for ~3-4 years and seemingly has no pre-built copy that can reasonably use TLS1.1
|
# ? Oct 26, 2018 21:23 |
|
Sapozhnik posted:Not sure why the creators of python 2 are suddenly out to kill it tho. Doesn't inspire a whole lot of confidence in the ecosystem. literally an entire decade of notice counts as “suddenly” now?
|
# ? Oct 26, 2018 21:35 |
|
MononcQc posted:Build tools are kind of in a special category there, because while a program can support multiple versions of a language, the things that let you do that tend to be related to the build tool you have. cmake's got policies and versioning and it seems to work as ok as anything else
|
# ? Oct 26, 2018 21:46 |
|
suffix posted:they called it windows 95 but it's actually a different os than windows 3.11
|
# ? Oct 26, 2018 21:51 |
|
c++ is fine if you use the modern stuff imo, and templates are baller. compile time is the best time and tbh python w/ mypy is fine, make sure you enforce types on all method declarations and decorators and it's good enough imo Sweeper fucked around with this message at 22:42 on Oct 26, 2018 |
# ? Oct 26, 2018 22:37 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern? I like not to have to scroll up multiple pages to find a variable definition or a matching curly brace I have a co-worker who write code like that (he also likes nesting a shitload of ifs) and we're part of the same team and work on the same things and I want to murder him every time I have to fix/optimize/modify something in his giant horrible functions/classes
|
# ? Oct 26, 2018 22:43 |
|
Zlodo posted:I like not to have to scroll up multiple pages to find a variable definition or a matching curly brace we've got two 5000+ line files which are incredibly annoying to edit, in those files are many functions more than 200 lines long lol
|
# ? Oct 26, 2018 22:46 |
|
Gazpacho posted:DOS is still deep in windows 10 ... sleeping ... msdos.sys and command.com? really?
|
# ? Oct 26, 2018 23:14 |
|
Sweeper posted:c++ is fine if you use the modern stuff imo, and templates are baller. compile time is the best time they who program c++ should take care lest they become c++. for when you gaze long into the machine, the machine gazes also into you. C++ code:
source, some functions omitted TheFluff fucked around with this message at 23:37 on Oct 26, 2018 |
# ? Oct 26, 2018 23:34 |
|
Bloody posted:why do people split things into a bunch of little functions and then use those functions in exactly one place. why is this a pattern? The Carmack changed his mind on this on his Twitter feed, before he used to like functions for abstraction, testing, future reuse, type stuff, and now he prefers the code inline for better understanding of what the code is actually doing within a larger context. In JS land the optimiser works on the size of the function so I like to use nested functions to get the best of both worlds, I have local context and can use super generic terms that make it easier to read. This applies especially to promise chains that become unreadable with too much inline lambda code. MrMoo fucked around with this message at 23:43 on Oct 26, 2018 |
# ? Oct 26, 2018 23:41 |
|
Sweeper posted:we've got two 5000+ line files which are incredibly annoying to edit, in those files are many functions more than 200 lines long lol 7k line js file. 1700 of those lines are in a jQuery onload handler. i feel you
|
# ? Oct 27, 2018 00:34 |
|
TheFluff posted:they who program c++ should take care lest they become c++. for when you gaze long into the machine, the machine gazes also into you. this is boost level powerful. I bow the head
|
# ? Oct 27, 2018 02:37 |
|
MononcQc posted:older language definitions that no longer supported good enough TLS (in fact it only supported SSL) uh why does TLS support have anything to do with language version
|
# ? Oct 27, 2018 02:48 |
|
eschaton posted:uh why does TLS support have anything to do with language version 1. the build tool can fetch dependencies from the net 2. the tool has multiple versions 3. some older version(s) of the tool only work with older version(s) of the language it's written in 4. some of these older version(s) of the language only support old, deprecated versions of SSL/TLS 5. many websites no longer support old deprecated versions of SSL/TLS any more 6. thus these old versions of the tool will now be unable to fetch dependencies securely from the net
|
# ? Oct 27, 2018 04:01 |
|
|
# ? Jun 12, 2024 13:11 |
|
Shaggar posted:if you still refuse to use c# and java in 2018 you haven't left that junior dev mindset. java is aesthetic as gently caress @ your mother
|
# ? Oct 27, 2018 04:10 |