|
Subjunctive posted:do you do birthday parties? they're great for slumber parties
|
# ? Feb 11, 2024 05:36 |
|
|
# ? Jun 5, 2024 22:21 |
|
Cybernetic Vermin posted:literally preparing a presentation to argue the dept into switching from c to python for intro programming as we speak. rce of profit for security people in the future. better Python than C but it’s still no Scheme SICP and 6.001 are the gold standard and why do your students deserve any less? MIT only stopped because they caved to pressure from industry not because it was better for learning computer science
|
# ? Feb 11, 2024 11:40 |
|
Plorkyeran posted:i do not particularly understand why people act like lisp is still special syntax-transforming macros and homoiconicity go hand in hand you don’t strictly need homoiconicity for syntax-transforming macros, infix Dylan and Swift both have real macro systems, but they’re way easier to read, write, and maintain when you don’t have to worry as much about mapping between syntax and its representation
|
# ? Feb 11, 2024 11:49 |
|
eschaton posted:better Python than C but it’s still no Scheme racket has been floated, it is for sure a harder sell though
|
# ? Feb 11, 2024 12:03 |
|
Cybernetic Vermin posted:literally preparing a presentation to argue the dept into switching from c to python for intro programming as we speak. the c intro works real badly, the struggling students get stuck on esoteric detail, while among the stronger students a weird "low-level" macho culture develops where they nonetheless produce mostly garbage code, fail to climb in abstraction, and will no doubt be a source of profit for security people in the future. Argue for Rust.
|
# ? Feb 11, 2024 12:10 |
|
Do not argue for Rust.
|
# ? Feb 11, 2024 13:14 |
|
Show them Rust until they scream for Scheme.
|
# ? Feb 11, 2024 13:18 |
|
they should make a teaching version of rust that checks borrows and variable name typos at run time
|
# ? Feb 11, 2024 13:34 |
|
ynohtna posted:Show them Rust until they scream for Scheme. basic negotiation skills "$SCARY_LANG is obviously the only sensible choice and anybody who can't see it is a philistine. ...however, though it pains me greatly to admit it, $LESS_SCARY_LANG_THAT_I_ACTUALLY_WANT might perhaps have some qualities that make it not completely unsuitable..."
|
# ? Feb 11, 2024 17:11 |
|
awk as an introductory programming language:
|
# ? Feb 11, 2024 17:44 |
|
just teach excel first, it’s like a logic programming language anyway, and it’ll be useful whatever regardless of what career someone ends in (even if it’s tracking finances and part orders as a tradesperson, or personal budgeting) my kid has been asking what programming instruction to take if she wants to do programming as part of something else, like bioinformatics or planetary sciences or something rather than software qua software. it feels like the best bet is python there? maybe Java?
|
# ? Feb 11, 2024 17:51 |
|
Subjunctive posted:my kid has been asking what programming instruction to take if she wants to do programming as part of something else, like bioinformatics or planetary sciences or something rather than software qua software. it feels like the best bet is python there? maybe Java?
|
# ? Feb 11, 2024 17:52 |
|
the mass transition was from fortran, so actually scientific code is remarkably conservative in that regard
|
# ? Feb 11, 2024 17:57 |
|
mystes posted:Definitely python based on what people are using right now, although who knows if that will still be the case in the future yeah, she’s done high school next year so I figure there will still be some people on python out there by the time she gets to use it!
|
# ? Feb 11, 2024 18:03 |
|
bob dobbs is dead posted:the mass transition was from fortran, so actually scientific code is remarkably conservative in that regard AIUI part of the reason that the transition from Fortran took so long is that they didn’t always have source code for all the pieces like vendor-accelerated libraries. nobody wanted to have to rebuild them (and risk correctness and performance) so “have to support running this exact binaries with their hard-coded NFS paths for striped I/O and such” became a bid requirement
|
# ? Feb 11, 2024 18:38 |
|
and llm's, as they snake through the education system, will destroy the ability of anyone to make new programming languages. i unironically think we might be using python a century hence
|
# ? Feb 11, 2024 18:43 |
|
i think that code is still there. python is rear end slow, it’s acceptable for hpc because the python is mostly higher-level logic on top of library calls into fortran
|
# ? Feb 11, 2024 18:44 |
|
yeah, there's no native python going on there, all ffi
|
# ? Feb 11, 2024 18:45 |
|
otoh i also think it is a welcome permanent shift to really high-level glue most detail work happens at coupled with computational cores suitable for the tasks. python might be replaced, but i don't think it'll ever be replaced by something that is suitable for every level of an application, because once used to this setup there are some real big advantages to it.
|
# ? Feb 11, 2024 19:20 |
|
Internet Janitor posted:awk as an introductory programming language: I love awk
|
# ? Feb 11, 2024 19:22 |
|
eschaton posted:syntax-transforming macros and homoiconicity go hand in hand non-hygenic macros suck
|
# ? Feb 11, 2024 21:04 |
|
I've tried to write swift macros a couple times and found it incredibly difficult. dumping out syntax trees is alright for learning what's what, but figuring out how to make new nodes is infuriating more examples and any docs will help someday. done touching the stove for now
|
# ? Feb 11, 2024 22:02 |
|
i think you’re expected to do it with the string interpolation thing; that seems a lot more approachable than using the apis directly
|
# ? Feb 11, 2024 22:17 |
|
Plorkyeran posted:non-hygenic macros suck SHOWER()
|
# ? Feb 11, 2024 22:42 |
|
rjmccall posted:i think you’re expected to do it with the string interpolation thing; that seems a lot more approachable than using the apis directly that makes sense. I had a hard time figuring out when I could do that, especially with interpolation and looping/accumulation. there's result builders sprinkled around that seem helpful for conditionals and looping, but it seemed arbitrary when they're available. probably didn't help that I had zero intuition for what types come out the other end. everything's on an equal(ly undocumented) plane despite feeling like there's a lot of lower level types and initializers I probably shouldn’t reach for anyway, I'm sure it'll get there, and I'll try it again sometime and get a little further
|
# ? Feb 12, 2024 02:16 |
|
Cybernetic Vermin posted:otoh i also think it is a welcome permanent shift to really high-level glue most detail work happens at coupled with computational cores suitable for the tasks. java script
|
# ? Feb 12, 2024 03:14 |
|
Cybernetic Vermin posted:otoh i also think it is a welcome permanent shift to really high-level glue most detail work happens at coupled with computational cores suitable for the tasks. once again Symbolics did it in the 1980s: you could get an array processor board set for your 3600 system, and the high-level API would work with software floating point (excruciating), hardware floating point (not quite as excruciating), and the array processor (actually fast compared to the other two) in theory one could write a backend that farmed out the vector processing work to pretty much anything that could interface with the system, in theory today you could have it send work to a modern GPU sitting in a Linux box on the other end of a TCP connection it was used to accelerate things like their Plexi neural network system the oil & gas industry bought a lot of Symbolics systems
|
# ? Feb 12, 2024 03:31 |
|
eschaton posted:once again Symbolics did it in the 1980s: you could get an array processor board set for your 3600 system, and the high-level API would work with software floating point (excruciating), hardware floating point (not quite as excruciating), and the array processor (actually fast compared to the other two) one of those that's been done lots of times, which is why it is easy to predict it'll stick, because the only thing that really changed is that it gained broad acceptance and momentum. python is not perfect for the purpose, but it is close enough that i think anything replacing it will have to be of the form "python except x".
|
# ? Feb 12, 2024 12:07 |
|
python except good
|
# ? Feb 12, 2024 12:37 |
|
Subjunctive posted:just teach excel first, it’s like a logic programming language anyway, and it’ll be useful whatever regardless of what career someone ends in (even if it’s tracking finances and part orders as a tradesperson, or personal budgeting) Teaching excel as well as whatever "real" programming language might at least help introduce some different programming paradigms.i taught myself programming, using basic, arexx and even c. Then we had one course in college that used lisp and I could not wrap my head around functional programming and closures at all. I got it almost a decade later with javascript lol
|
# ? Feb 12, 2024 12:59 |
|
Zlodo posted:python except good we haven't had a good rubypost in awhile
|
# ? Feb 12, 2024 15:35 |
|
Wheany posted:Teaching excel as well as whatever "real" programming language might at least help introduce some different programming paradigms Also node-based programming in blender. Or unreal, i heard it has some node based thing too. Just do a bit of everything
|
# ? Feb 12, 2024 17:25 |
|
Wheany posted:Also node-based programming in blender. Or unreal, i heard it has some node based thing too. don't do verilog i beg (i do verilog )
|
# ? Feb 13, 2024 11:35 |
|
Zlodo posted:python except good so Common Lisp or Scheme or prefix Dylan (which is really just Scheme rebased on CLOS)
|
# ? Feb 13, 2024 12:18 |
|
Dijkstracula posted:we haven't had a good rubypost there’s good reason for that
|
# ? Feb 13, 2024 12:19 |
|
ive been getting into windows kernel programming in rust (yeah im a kinky boy i love it) and its neat seeing how language features and architecture features aren't always cleanly separated. like exception handling. not only does windows support exceptions in the kernel (although it promises to bugcheck if you let one escape your driver) some kernel mode APIs will raise exceptions in the right circumstances this is not "a c++ thing" because windows exceptions are called SEH and they are language neutral. if supporting both C and C++ counts as language neutral the obvious rust equivalent is panicking, and that design works great in userspace as rust panics are just the language formalizing the way you should be doing exceptions in modern c++ anyway i.e. if you throw it means everything is hosed. it is not clear to me though how to map "userspace gave me a bad pointer so now i am unwinding the call stack and am expected to recover from this state" to something rust can do. the gfy panic handler in a kernel is loop {} and the tryhard one would be to bugcheck or something. neither great options maybe write a wrapper for kernel API calls that will trap exceptions and turn them into Result values? i'm sure some kind of fuckery is possible to make that work
|
# ? Feb 14, 2024 09:01 |
|
true comedy option is to call up the windows peeps and ask for a rust dealio in the kernel for windows 12 then wait 5 years
|
# ? Feb 14, 2024 09:08 |
|
they made a github repo and it does not solve this at all. the panic handler you get from them is loop{} with a FIXME to think about doing something sane. it also only lets you target the most recent KMDF version and makes heavy use of bindgen inside build.rs. im not holding my breath waiting for a solution from MS on this or it being a solution i'd be willing to adopt
|
# ? Feb 14, 2024 09:25 |
|
from what i hear microsoft is looking pretty hard at it, so i wouldn't bet against something being figured out. they are probably not at all above messing with the language a little bit if needed. which is probably mostly healthy.
|
# ? Feb 14, 2024 09:35 |
|
|
# ? Jun 5, 2024 22:21 |
|
visual R# now with catch blocks
|
# ? Feb 14, 2024 09:45 |