|
Used to be that Comp Scis got taught Object-Oriented Design in Java so they went on to inflict the most horrible AbstractAbstractUiFactory class hierarchies on whoever hired them first. Anyone not guilty raise their hand: Nowadays these crimes are committed in a wide variety of up-and-coming-and-going programming languages no-one decent has heard of. Well, turns out these new amazing features have all been invented in the 60's and they are all really easy to rewrite in readable and maintainable Java (or C# if you lean that way) and any StrategyInterpreterDelegateImplementations you only inflict on yourself. This is really the best time to be an experienced software developer, or maybe a programming language biologist would be a better fitting term. Almost every day there's a new weird specimen to wonder, study, dissect and bring into the fold. But don't let that stop you. Maybe misunderstood Python is really not "Shaka, when the walls fell." but really "Temba, his arms wide!" Maybe Erlang on Desktop will unleash all (ALL!) the cores. Maybe the Next Next Big Thing is totally going to be Rhino on Rails. Maybe. Naaaaaaah
|
# ¿ Apr 25, 2012 22:53 |
|
|
# ¿ Apr 27, 2024 08:02 |
|
OBAMA BIN LAUGHIN posted:python is a really cool language oooh, I meant to ask in the other thread about semantic web but it got closed is the future semantic web going to let me open my phone and see both facebook AND twitter in the same list? cos that would really be something I bet it will make use of some really amazing languages
|
# ¿ Apr 25, 2012 23:09 |
|
Rufo posted:what the gently caress are you on about in the 60's when they were inventing modern computing they didn't know how to make a fast computer let alone a fast programming language so they just invented all the language features and combined them in different ways to make slow and terrible programming languages because who can blame them, it was all new so now that we have more computing power than we know what do with, and java pre-empted all to good language features to create the java ecosystem, what can we look forward to? an endless stream of terrible remixes
|
# ¿ Apr 25, 2012 23:45 |
|
tef posted:dynamic and static typing are for weenies. that's pretty neat in how everything gets a really specific type, but I can't see how you could write code like that without an ide figuring the types out for you
|
# ¿ Jul 31, 2012 08:18 |
|
and what's with every research language having a hardon for overloading the EqualsOrGreaterThan operator?
|
# ¿ Jul 31, 2012 08:18 |
|
here's a thing that happened with the auction house in a recently released game:JerleMinara posted:Hey if you want to actually use the AH, it turns out they did something really silly with the client UI that they guaranteed didn't test at all. (It's literally impossible to miss).actually it's pretty loving easy thing to miss if you only have a couple 1000 test items in the DB: guess you shouldn't use floats when manipulating your database IDs, who knew
|
# ¿ Aug 5, 2012 16:29 |
|
trex eaterofcadrs posted:sorry kid, it's true, every single person that i respect as a programmer will readily admit the human race is writing poo poo software at this stage of the game a big problem is a culture where "i have to talk fast because I don't have time to listen" is encouraged. applied to software that becomes "I have to get this code done before the customer changes their mind" and the corollary "ok, that didn't work, maybe if I can get the code done so fast that they haven't even finished their sentence I can stump them" which is then sugarcoated as rapid application development (RAD!!!) or prototyping I wouldn't say all software is poo poo, it's just the best it can be
|
# ¿ Aug 7, 2012 19:01 |
|
vapid cutlery posted:the worst part of programming is developing software yea
|
# ¿ Aug 7, 2012 22:10 |
|
the worst part of sex is developing a boner
|
# ¿ Aug 7, 2012 22:11 |
|
Gazpacho posted:i know crazy poo poo happens in space but if you cant even trust your ALU then you better shield that poo poo until you can Attack of the Cosmic Rays!
|
# ¿ Aug 8, 2012 20:59 |
|
Otto Skorzeny posted:good luck not doing any dynamic allocation in java! here's some java that does very little dynamic allocation: Java code:
|
# ¿ Aug 8, 2012 21:59 |
|
Shaggar posted:sticking a thing into a slot and squeezing it is about all the lowest common denominator can handle then the solution is obvious: retrofit existing gas pumps as pneumatic exchangers of rechargeable D-batteries. first it sucks the empty batteries out of the car, then it pushes recharged batteries in, and you pay based on how many you exchange
|
# ¿ Aug 10, 2012 15:38 |
|
Tiny Bug Child posted:people who like static typing are the software conservatives yeah, that's what the google guy is trying to say, but then he says a lot of things quote:I am a hardcore software liberal, bordering on (but not quite) being a liberal extremist. but quote:static types yield better toolchain support. This is undeniably true today, and I have made it my life's work to ensure that it is not true tomorrow. so start preparing for a PHP IDE that adds little red marks next to code it can't verify to not be meaningless without running it
|
# ¿ Aug 10, 2012 16:38 |
|
lol javascript is slow!!!
|
# ¿ Aug 11, 2012 19:37 |
|
Otto Skorzeny posted:even with cruise control you still need to steer nah, just tape a few sandbags around it, slap on a V9 IonMonkey engine and ship it
|
# ¿ Aug 13, 2012 02:45 |
|
Cocoa Crispies posted:not even the good kind of typing where the computer does all the easy but boring bullshit (see Mirah) that looks like it's just hiding stuff instead of doing the easy and boring stuff (i.e. documenting the code)
|
# ¿ Sep 5, 2012 14:56 |
|
Win8 Hetro Experie posted:that looks like it's just hiding stuff instead of doing the easy and boring stuff (i.e. documenting the code) like this stuff: mirah posted:import java.util.ArrayList inferred by who? me?? i'd rather not infer stuff when writing code, if at all possible
|
# ¿ Sep 5, 2012 15:10 |
|
and now that i'm actually inferring that piece of code it's borderline nonsense who would use a List<StringBuffer> variable instead of List<String>? Nobody, but thanks to types being hidden the author never caught that stupid mistake way to go showcasing the strengths of your own language
|
# ¿ Sep 5, 2012 15:25 |
|
There is no single development, in either technology or in management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity. I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. We still make syntax errors, to be sure; but they are fuzz compared with the conceptual errors in most systems. The principal effect of timesharing is to shorten system response time. As this response time goes to zero, at some point it passes the human threshold of noticeability, about 100 milliseconds. Beyond that threshold, no benefits are to be expected. An order-of-magnitude gain can be made by object-oriented programming only if the unnecessary type-specification underbrush still in our programming language is itself nine-tenths of the work involved in designing a program product. I doubt it. Moreover, at some point the elaboration of a high-level language creates a tool-mastery burden that increases, not reduces, the intellectual task of the user who rarely uses the esoteric constructs. The first step toward the management of disease was replacement of demon theories and humours theories by the germ theory. That very step, the beginning of hope, in itself dashed all hopes of magical solutions. It told workers that progress would be made stepwise, at great effort, and that a persistent, unremitting care would have to be paid to a discipline of cleanliness. So it is with software engineering today.
|
# ¿ Sep 5, 2012 22:22 |
|
lol groovy looked at an example briefly, went "that's simple, I got this" and produced this elegant piece of code: code:
the correct code was: code:
|
# ¿ Sep 6, 2012 23:41 |
|
here's some more from the top of my head - the time between changing something and logging the change can vary, think context switches - one windows api for measuring time has 1ms resolution but ~15ms precision, this can be upped to 1ms precision when needed but it's a system-wide change - queryperformancecounter has a much better precision but it's harder to turn into a proper timestamp - different cores might run at slightly different speeds, causing measurements to drift
|
# ¿ Sep 7, 2012 19:30 |
|
how does ARC compare with RAII and C++11's move semantics?
|
# ¿ Sep 9, 2012 23:03 |
|
Gazpacho posted:i dont see how either of those c++ things supports multiple references at all sooo it's just a shared_ptr then?
|
# ¿ Sep 10, 2012 14:40 |
|
tef posted:i tend to look for attitude over ability. as for hard problems, most of coding is trivial problems, made hard. He then goes on to list, with no apparent irony, several unnecessarily hard problems that all involve software that someone somewhere mashed out the logic and library code for to just do it. tef posted:Learning a new API is hard. Debugging is hard. Documentation is hard. Testing is hard. Builds are hard. Versioning is hard. Coding is mostly mashing out the logic and library code to do it. Yes, there's no problem with my code to do it, what I want, it's all that other code to do stuff, what someone else managed to think up that's involved that makes everything unnecessarily difficult.
|
# ¿ Sep 11, 2012 12:25 |
|
tef posted:the implication is that 'solving a hard problem' is people who can 'not invented here' up some savagely optimised algorithms to do it. I then mention several actual hard problems which are not covered by these algorithmic blinkers. What, so this list tef posted:Learning a new API is hard. Debugging is hard. Documentation is hard. Testing is hard. Builds are hard. Versioning is hard. is supposed to be ACTUALLY hard problems? that just makes the whole thing even dumber Learning a new API is only hard if the thing the API does is actually hard or the API is done in an unnecessarily hard way. Debugging is only hard if your code doing what you want doesn't include "fails reliably". Documentation is only hard if the interface to your code is done in an unnecessarily hard way. Testing is only hard if you are having trouble expressing what you want your code to do. Builds are only hard if you insist on coding and producing an executable to be two separate activities. Versioning is only hard if tomorrow you don't want doing what you want to include doing something reasonable with the stuff you wanted done today. But never mind all that stuff that requires someone to figure out what is it that the code must do, coding is just mashing out some dumb code from logic and libraries
|
# ¿ Sep 12, 2012 00:44 |
|
tef posted:i can only assume you live in a magical land where the build system isn't cobbled together, the test suite is as polished as if it came from jonny ive's bumhole, debugging requires no reverse engineering, and deployments and version conflicts are simply the users error and/or problem. no, but I recognize that any problems with these are self-inflicted and stem from them not being considered part of the software product from the beginning "write some dumb code because coding is mostly trivial" certainly doesn't help E: tef posted:i'm pretty sure you were raging so hard, you forgot to make a sentence with words that follow each other. I actually read over that one quite a few times to make sure it was syntactically correct
|
# ¿ Sep 12, 2012 01:36 |
|
WHOIS John Galt posted:'but it's syntactically correct' is the worst defense for writing a poorly written sentence in criticizing others for missing the big picture I may focused too much on trivialities myself isn't that ironic tef posted:yep. it turns out that software is easy when you get everything right first time. or failing that, getting everything right to make software easier is an actual priority tef posted:some people like to use fancy bits of coding to avoid an extra line or variable. there's a lot of that going around, I think quite a few people in the 'pos would rather turn this homercles posted:
into this JavaScript code:
|
# ¿ Sep 12, 2012 02:49 |
|
tef posted:i find it more you read my posts with a view to dissect them for faults, over letting me away with my more general, vague point made through fanciful word choice and handwaving. I do that, yes, I think there's some deep-seated underlying flaw there that's quite hard to grab a hold of. Believing that coding is the same thing as typing source code might be it. tef posted:again, you're making the point that you seem to be missing from my posts. the challenge and difficulty from software come from people, not from algorithms, nor data structures. software starts and ends with people, it only exists for people to use, so tell me again how much of the coding effort is spent on solving trivial problems and how much of it is figuring out what those trivial problems are in the first place?
|
# ¿ Sep 12, 2012 09:50 |
|
Zombywuf posted:Requirements gathering is impossible because the customer is always right. instead of trying to hit a moving target maybe we could become the target itself and bounce about to get the customer to hit us
|
# ¿ Sep 12, 2012 15:08 |
|
Zombywuf posted:So you've written integration software then? worse, completely new software
|
# ¿ Sep 12, 2012 15:56 |
|
and the customer is more like a potential customer
|
# ¿ Sep 12, 2012 16:00 |
|
tef posted:you'll get equity there's always equity at the end of the rainbow
|
# ¿ Sep 13, 2012 14:38 |
|
Cocoa Crispies posted:and no pinky stretch (known to cause hand disorders in emacs users that mash "ctrl" all the time even when rebound to caps-lock, to the left of "a") trigger warning C-y
|
# ¿ Sep 16, 2012 18:10 |
|
something something auto-completing perl ide
|
# ¿ Sep 18, 2012 12:00 |
|
git is such trash can you imagine a GFUI for git? exactly
|
# ¿ Sep 23, 2012 08:12 |
|
het posted:I think the idea of local and remote repos isn't intrinsically wrongheaded insofar as it gives you the opportunity to branch without officially branching. I mean maybe you think that's wrongheaded, but I think there are some changes that aren't minimal but for which creating an actual branch is more effort than necessary. local branches (I hesitate to deem them repos) are fine, as long as they live inside your primary IDE. for example, eclipse has file history that goes back at least 1 month or so. for the once a year occurrence when one wants to commit just some of the changes, a copy of the source folder followed by reverting the changes one doesn't want to commit right now, then copy-pasting and re-synchronizing the source folder back in is lot less mental than trying to figure out git
|
# ¿ Sep 23, 2012 09:07 |
|
tef posted:programming in groovy is terrible and you should all kill yousrealf.ef
|
# ¿ Sep 25, 2012 09:24 |
|
vapid cutlery posted:i love ios programming what do you love about it?
|
# ¿ Sep 28, 2012 10:06 |
|
Condiv posted:Has anyone here toyed with concept oriented programming? http://conceptoriented.org/papers/CopInformalIntroduction.html it does, and I think it's because it sets about to improve on OOP but its version of OOP is frankly outdated 6. COP vs. OOP posted:COP is designed to be backward compatible with OOP, i.e., it is reduced to OOP under certain simplifying assumptions. In this section we compare COP with OOP ´by showing where they are different and why COP can be considered a generalization of OOP. "One of the cornerstones". It then goes on to compare COP with inheritance-heavy OOP only, contrasting the IS-A relation from OOP with IS-IN relation in COP I think in modern OOP the related concepts of encapsulation and information hiding are much more important than inheritance hierarchies. These provide the other object relation in OOP, the HAS-A relation. this part of OOP is not considered in the section at all, and that's a bit curious when you consider that HAS-A relation is the inverse of IS-IN! From this POV COP looks like an awfully rigid subset of OOP that's constrained to only using one HAS-A relation-based design pattern
|
# ¿ Oct 2, 2012 12:01 |
|
|
# ¿ Apr 27, 2024 08:02 |
|
holy poo poo the comments I'm actually working on a toolchain for Clojure -> JVM Bytecode -> Decompile Bytecode into Java -> Doppio JavaScript -> CoffeeScript -> Back to JS -> Rhino Compiler to Bytecode -> GCJ for native machine code. This will be very useful for writing native programs in Clojure.
|
# ¿ Oct 5, 2012 14:04 |