|
|
# ? Aug 13, 2016 04:55 |
|
|
# ? May 10, 2024 08:24 |
|
comedyblissoption posted:it's just that the community of developers have a much more different philosophy in structuring their programs i think this message is getting lost in the epic tale of GMS versus The Stack
|
# ? Aug 13, 2016 04:56 |
|
Space Whale posted:It's always been natural for me to program with poo poo in -> some function -> output, and just set up chains of this. http://blog.jenkster.com/2015/12/what-is-functional-programming.html unfortunately in c# there's literally no way for you to say a function doesn't mutate a mutable object reference that you pass in. the best you can do is to make the objects immutable, but c# makes this very verbose and a lot more difficult than f# or other langs to work w/.
|
# ? Aug 13, 2016 04:57 |
|
JawnV6 posted:i think this message is getting lost in the epic tale of GMS versus The Stack although usually people advocate for GMS through their code w/o realizing that they are doing so or that they are going to be causing a lot of complexity later
|
# ? Aug 13, 2016 04:58 |
|
comedyblissoption posted:someone linked this from the proglang thread and I felt it captures the philosophy of trying to structure as much of your program as possible as simple input -> output Honestly, I could (and do when I can) write JS (or whatever) that way. But there's no ENFORCEMENT. ... How hard would it be to make a keyword for a function and have some compiler enforcement?
|
# ? Aug 13, 2016 04:59 |
|
the dude who uses emacs at work is like the least productive person we have I think
|
# ? Aug 13, 2016 05:00 |
|
JawnV6 posted:not really then I won't tell you what we're wasting millions of R&D dollars on lmao
|
# ? Aug 13, 2016 05:00 |
|
Space Whale posted:Honestly, I could (and do when I can) write JS (or whatever) that way. But there's no ENFORCEMENT. c++ kind of has this with constexpr (a notation for a function that can be resolved and evaluated at compile time) that they added ad hoc to the lang way late in the game and maybe that's kind of "good enough"? I don't really know haskell is the only language I've played around w/ that has rigid enforcement against allowing you to gently caress with mutable global state arbitrarily w/o notating you are doing so (although i think theres an unsafeperformio hole, but you can restrict that with compiler flags) rust will only let you if you put a big unsafe block around it there's probably a bunch of esoteric langs that enforce this more obscure than haskell and rust all the other languages I've seen rely on programmer discipline and convention (which usually means it's a free for all wild west)
|
# ? Aug 13, 2016 05:05 |
|
i downloaded that 68k emulator/debugger easy68k to play with. it includes all kinds of simulated peripherals, serial connection, file i/o, even TCP and UDP networking. i decided i wanted to try clearing the 7-segment LEDscode:
|
# ? Aug 13, 2016 05:06 |
|
Notorious b.s.d. posted:the type of that 5 is extremely important at every juncture. and not just its business context, but actual boring nuts and bolts poo poo ive seen integer micros used to handle money ie $1.25 = 1250000 worked p well actually
|
# ? Aug 13, 2016 05:08 |
|
Can linters and static analysis at least get you part of the way there? Halting problem bla bla bla meh.
|
# ? Aug 13, 2016 05:09 |
|
Progressive JPEG posted:ive seen integer micros used to handle money Literally doing number crunching with JavaScript right now and it's accurate enough (within so many decimals)
|
# ? Aug 13, 2016 05:10 |
|
Space Whale posted:Can linters and static analysis at least get you part of the way there? Halting problem bla bla bla meh. idk much about static analysis. I'd imagine you could lint for certain obvious cases but not all.
|
# ? Aug 13, 2016 05:12 |
|
comedyblissoption posted:using global mutable state is so baked into the common usage of how you program in all mainstream programming languages that i would be surprised if there's a linter that warns about it "Use the loving parameter list don't hard code globals you twit *flicks ASCII cig at you*"
|
# ? Aug 13, 2016 05:15 |
|
Space Whale posted:Literally doing number crunching with JavaScript right now and it's accurate enough (within so many decimals) can you truly number crunch with JavaScript though? surely you would only be nibbling at best
|
# ? Aug 13, 2016 05:16 |
|
hobbesmaster posted:can you truly number crunch with JavaScript though? surely you would only be nibbling at best well I remember that guy who embedded a JavaScript Bitcoin miner in his website that ran at like 40k hashes/sec
|
# ? Aug 13, 2016 05:17 |
|
Progressive JPEG posted:ive seen integer micros used to handle money all data at rest is in integers (cents, bps, micros, etc) and casting to/from float is explicit, so you don't make dumbfuck errors
|
# ? Aug 13, 2016 05:18 |
|
hobbesmaster posted:can you truly number crunch with JavaScript though? surely you would only be nibbling at best Client side number crunching of metrics with ExtJS
|
# ? Aug 13, 2016 05:19 |
|
use numpy at the least jesus
|
# ? Aug 13, 2016 05:20 |
|
hobbesmaster posted:use numpy at the least jesus Well, more like "me and mine were brought in as consultants to fix this poo poo someone else did and $bigCorpThatFuckedUp is stuck with" We're using WebAPI (C#) endpoints to serve the data to the browser.
|
# ? Aug 13, 2016 05:21 |
|
ok, "because we were brought in and paid $texas/hr to fix it" is the one acceptable excuse to doing something stupid
|
# ? Aug 13, 2016 05:23 |
|
comedyblissoption posted:using global mutable state is so baked into the common usage of how you program in all mainstream programming languages that i would be surprised if there's a linter that warns about it i remember being this angry about gms when i worked on a 40 person product but now that i work on a 4 person product I'm like jfc dude it's not that bad to deal with
|
# ? Aug 13, 2016 05:26 |
|
LeftistMuslimObama posted:i will post this every time spring is mentioned ComplexPortletApplicationContext.MyHandlerInterceptor1 is a real one? lol
|
# ? Aug 13, 2016 05:27 |
|
Notorious b.s.d. posted:yes, this is how all math is done with money 64 bits is enough for anyone when your money is denominated in mills
|
# ? Aug 13, 2016 05:31 |
|
fart simpson posted:ComplexPortletApplicationContext.MyHandlerInterceptor1 is a real one? lol youre triggering me
|
# ? Aug 13, 2016 05:32 |
|
MALE SHOEGAZE posted:i remember being this angry about gms when i worked on a 40 person product but now that i work on a 4 person product I'm like jfc dude it's not that bad to deal with Do JS. Now do JS with this.SomeGlobal (or this.SomeGlobal["somepropertylolfuckyou"]) everywhere instead of parameters being passed, ever, because it was written by assholes. You'll get mad.
|
# ? Aug 13, 2016 05:37 |
|
i know this is a whole page back but it blows me away every time someone argues that you don't need static typing if you just write more unit tests. code is terrible why would you want to write and maintain more of it?
|
# ? Aug 13, 2016 05:55 |
|
jony neuemonic posted:i know this is a whole page back but it blows me away every time someone argues that you don't need static typing if you just write more unit tests. that's totally what I said yeah dipshit
|
# ? Aug 13, 2016 06:03 |
|
fart simpson posted:ComplexPortletApplicationContext.MyHandlerInterceptor1 is a real one? lol ya. i rarely hit over .500 at this game, it's ridiculous. and just when you think "aha" it's the one-word answer that's right.
|
# ? Aug 13, 2016 06:13 |
|
for real
|
# ? Aug 13, 2016 06:18 |
|
Space Whale posted:Do JS. if you have to call this.SomeGlobal, its not a global. it's a member of this. 'this' is an implicit argument, but an argument nonetheless. maybe I'm not following, but you seem to be complaining about instance state and not global state. i mean, still annoying.
|
# ? Aug 13, 2016 06:20 |
|
Symbolic Butt posted:that's totally what I said yeah dipshit if the opinions you post are stupid enough then people will have a hard time distinguishing between you expressing yourself and a thoughtless retard going BUHHHHHHHHHHH
|
# ? Aug 13, 2016 06:20 |
|
MALE SHOEGAZE posted:i remember being this angry about gms when i worked on a 40 person product but now that i work on a 4 person product I'm like jfc dude it's not that bad to deal with the issue is when someone doesnt have the benefit of this tower of complexity being created and having to understand it after the fact
|
# ? Aug 13, 2016 06:22 |
|
jony neuemonic posted:i know this is a whole page back but it blows me away every time someone argues that you don't need static typing if you just write more unit tests. I'm not arguing that you need to write more code to make up the lack of static type checking, I'm arguing that your code WILL check the validity of the code anyway, be it with an unit test or an assert or an if else, maybe exceptions whatever. the point is you'll do it anyway and this logic will implicitly check the trivial case of passing the wrong type "oh but what I'm doing is not important enough for me to worry about validating data *pshaw*" then why are you worried about static type checking on the first place "oh but compile-time vs run-time--" this is not even the original point, I won this. "heh web developers amirite?" shut up
|
# ? Aug 13, 2016 06:22 |
a few pages back but...hobbesmaster posted:python seems fine? RELEASE THE SHAGGAR!!!
|
|
# ? Aug 13, 2016 06:23 |
|
sorry mister butt but you haven't won anything and you're not going to because you're not on the winning side. the point is that static typing ALLOWS YOU TO EXPRESS AT COMPILE-TIME whether or not the validity has been checked, and so you can COMPLETELY ELIMINATE THE POSSIBLE EXISTENCE of code that requires validation running on a non-validated object. and your validation code can be, as you say, anything at all. this does not conflict one bit with the usefulness of static typing for your use case of "did i validate the thing", if anything you are just reinforcing the argument for static typing
|
# ? Aug 13, 2016 06:27 |
|
Symbolic Butt posted:I'm not arguing that you need to write more code to make up the lack of static type checking, I'm arguing that your code WILL check the validity of the code anyway, be it with an unit test or an assert or an if else, maybe exceptions whatever. lol
|
# ? Aug 13, 2016 06:33 |
|
JewKiller 3000 posted:if the opinions you post are stupid enough then people will have a hard time distinguishing between you expressing yourself and a thoughtless retard going BUHHHHHHHHHHH it bothers me because it's pretty much dogma for most people and there's so many weak sauce arguments. I was waiting someone to use that celsius/kelvin temperature example because yeah that's totally how everyone encodes numerical calculations in the real world. like I'm not even saying that every language should be dynamically typed. I don't mind programming with either. the choice doesn't determine a flaw to the language like comedyblissoption said. it's just a shallow tradeoff, as worthy as the choice of tabs vs spaces
|
# ? Aug 13, 2016 06:35 |
|
Symbolic Butt posted:I'm not arguing that you need to write more code to make up the lack of static type checking, I'm arguing that your code WILL check the validity of the code anyway, be it with an unit test or an assert or an if else, maybe exceptions whatever. nice meltdown lol.
|
# ? Aug 13, 2016 06:35 |
|
|
# ? May 10, 2024 08:24 |
|
with static typeing you can encode temperature not as a float, but put the F, C, or K scale or whatever right in the type
|
# ? Aug 13, 2016 06:36 |