|
let's just get rid of the parens entirely, and make it more clear when we're dereferencing a variable: y @ 1 + 12 * x !
|
# ? Apr 7, 2018 17:39 |
|
|
# ? May 22, 2024 19:05 |
|
god it's almost like programming languages are all about abstractions and special syntaxes
|
# ? Apr 7, 2018 17:49 |
|
yeah but if i can't do (define + -) in your environment when you get up to use the bathroom it's garbage
|
# ? Apr 7, 2018 17:51 |
|
rjmccall posted:you would literally never notice it because it just works We're in agreement, then. Developers not noticing their mistakes is precisely why this is a bad language design.
|
# ? Apr 7, 2018 17:53 |
|
CommunistPancake posted:god it's almost like programming languages are all about abstractions and special syntaxes (no (they (are (not))))
|
# ? Apr 7, 2018 17:54 |
|
CommunistPancake posted:god it's almost like programming languages are all about abstractions and special syntaxes languages should just be hosting environments for dsls. they could be represented by ASTs. you could represent them with nested lists. like some kind of list processing language.
|
# ? Apr 7, 2018 18:05 |
|
alright, i’m done with this thread again
|
# ? Apr 7, 2018 18:08 |
|
warnings-as-errors is dumb and i would hate to work with people who give so little of a gently caress about their code that they don't fix warnings just because it doesn't stop it from compiling
|
# ? Apr 7, 2018 18:54 |
|
Wheany posted:no, it's "if maven can't do the thing you want, what you're trying to do is stupid and/or wrong." “build the same source in multiple variations” “add stages to the build order besides those hardcoded by the Apache foundation”
|
# ? Apr 7, 2018 19:13 |
|
“The Apache foundation doesn’t think you should do that” doesn’t work as an excuse to the boss btw, try it some time
|
# ? Apr 7, 2018 19:17 |
|
Gazpacho posted:“The Apache foundation doesn’t think you should do that” doesn’t work as an excuse to the boss btw, try it some time your boss doesn't care about nerd poo poo anyway, he just wants his stuff to work the fact that maven doesn't have that build stage should be a subtle hint to you that you are doing it wrong
|
# ? Apr 7, 2018 19:23 |
|
The idea of tricking a build system into what you need with onfiguration rather than telling it directly in code form is defective, hth
|
# ? Apr 7, 2018 19:35 |
|
Gazpacho posted:“build something that isn’t a java library” Sounds like a job for msbuild.
|
# ? Apr 7, 2018 19:40 |
|
Gazpacho posted:The idea of tricking a build system into what you need with onfiguration rather than telling it directly in code form is defective, hth you have this completely backwards the beauty of maven is that it is not code. you define the project, and then various plugins can all parse the project the same way. every build system ends up re-inventing the project model sooner or later. sbt has huge bags of strings. makefiles use horrifying sets of global env variables. gradle literally compiles the project to an object which you may or may not be able to talk to with a standard api, so that you can have unreadable stack traces all of these approaches end up being worse than maven
|
# ? Apr 7, 2018 19:41 |
|
Gazpacho posted:The idea of tricking a build system into what you need with onfiguration rather than telling it directly in code form is defective, hth the idea that you need to write code for what is 100% boilerplate in 99.9+% of cases is defective, hth
|
# ? Apr 7, 2018 19:48 |
|
specific example: within my company's product there are proprietary JSON tables, and most releases add rows to these tables by mutating some prior row. this was traditionally done by copying and pasting the row you wanted to mutate and then hand-editing it. since the rows are large but the differences between rows are small, this was very inefficient and it also obscured the history of each row's development. there was one guy who had been there the longest and photographically knew the history but the rest of us were mystified whenever he talked about it and what i did was create scripts that regenerate the entire table from scratch, expressing the mutations directly a semi-declarative form. and then at the end it's all written back to json so that the next build stage can consume it. hooray, now everyone can trace the history of each row. alas, all builds in the company must run with maven. and maven is, despite delusions to the contrary, a build system for java libraries. this project containing the tables is the only one of its kind in the company, so the sensible place to describe the build process is in the project, not in some separate plugin project so, as so often happens, i end up hacking the build steps into maven via some plugin (i don't remember if its antrun or gmaven) that lets me write code. and stupidly binding the build actions to stages that were defined for java libraries, even though i'm not building a java library (but the project does, historically, produce a jar, which gets unnecessarily deployed and pulled into downstream projects and recently caused some veracode warnings in them) Gazpacho fucked around with this message at 20:01 on Apr 7, 2018 |
# ? Apr 7, 2018 19:58 |
|
Gazpacho posted:specific example: within my company's product there are proprietary JSON tables, and most releases add rows to these tables by mutating some prior row. this was traditionally done by copying and pasting the row you wanted to mutate and then hand-editing it. since the rows are large but the differences between rows are small, this was very inefficient and it also obscured the history of each row's development. there was one guy who had been there the longest and photographically knew the history but the rest of us were mystified whenever he talked about it disband the company
|
# ? Apr 7, 2018 20:00 |
|
Yes this most definitely sounds like a job for msbuild.
|
# ? Apr 7, 2018 20:02 |
|
carry on then posted:disband the company
|
# ? Apr 7, 2018 20:02 |
|
hi i used rust at work this week and had a very satisfying experience
|
# ? Apr 7, 2018 20:04 |
Bloody posted:hi i used rust at work this week and had a very satisfying experience NICE!
|
|
# ? Apr 7, 2018 20:30 |
|
Notorious b.s.d. posted:every build system ends up re-inventing the project model sooner or later. sbt has huge bags of strings. makefiles use horrifying sets of global env variables. gradle literally compiles the project to an object which you may or may not be able to talk to with a standard api, so that you can have unreadable stack traces Not sure what you mean by “talking to” a build that isn’t covered by command line options or inclusion
|
# ? Apr 7, 2018 20:40 |
|
Gazpacho posted:Not sure what you mean by “talking to” a build that isn’t covered by command line options or inclusion I need a unified project model for plugins to operate on. gradle has re-invented that particular wheel by accident, but it is pretty non-useful because you end up compiling code before you get the model, and it's not obvious what code produces what data
|
# ? Apr 7, 2018 21:58 |
|
Gazpacho posted:alas, all builds in the company must run with maven. and maven is, despite delusions to the contrary, a build system for java libraries. this project containing the tables is the only one of its kind in the company, so the sensible place to describe the build process is in the project, not in some separate plugin project you should have just stopped here. this is a layer violation that completely fucks maven. there's no such thing as project-specific code in maven. that's just not how it works. at all. it is specifically designed to avoid and prohibit that when you need a new behavior from maven, you write a plugin. period. that is how it is done there is exactly one way to do it, and you deliberately chose to avoid the happy path i have written two maven plugins in my life and worked on several others. it's very easy to do and it's something that nearly all maven users confront at one time or another
|
# ? Apr 7, 2018 21:59 |
|
"traditional wood framing is dumb and bad because it really hurts when you pound the nails through your dick, so i used duct tape instead"
|
# ? Apr 7, 2018 22:02 |
|
Notorious b.s.d. posted:there's no such thing as project-specific code in maven.
|
# ? Apr 7, 2018 22:16 |
|
Notorious b.s.d. posted:when you need a new behavior from maven, you write a plugin. period. that is how it is done
|
# ? Apr 7, 2018 22:43 |
|
btw creating a plugin would not have saved me from lifecycle stage BDSM
|
# ? Apr 7, 2018 22:47 |
|
Notorious b.s.d. posted:"traditional wood framing is dumb and bad because it really hurts when you pound the nails through your dick, so i used duct tape instead" Maven is good and if you think otherwise you are probably either too old or not old enough.
|
# ? Apr 7, 2018 23:46 |
|
Gazpacho posted:And That's Terrible somehow it is worse to generalize your dumbass changes than to write them over and over again for every project?
|
# ? Apr 8, 2018 00:08 |
|
Fiedler posted:Note that project-specific code is totally supported by msbuild. if you are designing a build system, and you are uncertain about a design choice, take whatever msbuild does, and do the opposite
|
# ? Apr 8, 2018 00:09 |
|
Notorious b.s.d. posted:somehow it is worse to generalize your dumbass changes than to write them over and over again for every project?
|
# ? Apr 8, 2018 00:52 |
|
Notorious b.s.d. posted:more and more i am convinced infix operators are just not a good thing be the Lisp you want to see in the world
|
# ? Apr 8, 2018 01:29 |
|
Asymmetrikon posted:just get rid of operators totally and use methods like Smalltalk does exactly this except some symbols are allowed to be one-argument messages without ending in a colon like the above could legally be code:
Smalltalk implementations will let you write + and * for familiarity, not because there’s any semantic difference and of course with Lisp everything is prefix, period, as long as you ignore the LOOP macro which is an entire language in itself
|
# ? Apr 8, 2018 01:44 |
|
Fiedler posted:Having to type the close parens is too much effort, please make it optional. you can just press the ] key and have your editor close them all for you
|
# ? Apr 8, 2018 01:45 |
|
eschaton posted:you can just press the alt+f4 keys and have your editor close them all for you
|
# ? Apr 8, 2018 01:58 |
|
btw nbsd i made an avatar for you in case you want to contribute to lowtax's neck repair fund
|
# ? Apr 8, 2018 02:09 |
|
Gazpacho posted:btw nbsd i made an avatar for you in case you want to contribute to lowtax's neck repair fund idgi 1984 reference? am i supposed to be big brother?
|
# ? Apr 8, 2018 04:19 |
|
https://www.youtube.com/watch?v=OYecfV3ubP8
|
# ? Apr 8, 2018 05:06 |
|
|
# ? May 22, 2024 19:05 |
|
tweaked slightly to center the face in the frame
|
# ? Apr 8, 2018 05:13 |