Bill Nourse
07/23/2024, 11:04 PMgavinbaumanis
07/24/2024, 12:15 AMdenny
07/24/2024, 1:30 AMBill Nourse
07/24/2024, 2:21 AMgavinbaumanis
07/24/2024, 2:58 AMgavinbaumanis
07/24/2024, 3:01 AMdenny
07/24/2024, 3:06 AMForce-multipliers are like having a hammer, and everything looks like a nail. Oh, let's build a single page website... We have to use React with SSR cause it will make us look cool and give us job security. And besides, that is how xyz company does their site."Mens rea" is pretty important! For what it's worth, I don't think that "to get a job" is a bad reason to learn a skill (which I think drives a lot of the "less practical" stuff), and speaking of less practical stuff, not even "to keep up with the Joneses" is a bad reason, per se (we are tribal (and hopefully always will be, because variety is the spice of life (tho hopefully better at working together as tribes as well))— so we'll always have things we do just for looks, kinda)… but like all things, some moderation is needed. The reason I like React (note I like most all frameworks/libraries, this is for example) is because I liked the Dojo Toolkit, and React felt like the spiritual successor, so to speak. Accessibility was high on their list of requirements, which is Just Plain Good™, and they were using modules, and had a decent handle on state (which is always kinda hard), etc. There are tons of great tools that all do the same sorts of things, and while I don't think you need all the things all the time, I think to some extent stuff like accessibility should be baked into everything. Standards are also a form of force-multiplier, and often arise first in libraries before making it into their respective cores. Instead of "library" or "framework" or "force-multiplier" or "standards", it can also be seen as _"teamwork"_— which as we all know "makes the dream work" 😃
denny
07/24/2024, 3:21 AMThe best framework == no frameworkWhat's that saying? Absolutes are ALWAYS incorrect? 😃 There is something to be said for not having external dependencies, from maintenance to security reasons, tho as in all things there's a balance to it, and you never get away from whatever it is you think you can somehow banish from existence ("what exactly is an external dependency anyway?" and so on and so forth). Even if we have "AI" insert boilerplate for us, that boilerplate is coming from somewhere… it really is "turtles all the way up" (depending on perspective ("there is no up in space!"😜)) For a lot of stuff, you generally get out what you put in, and so we should be aware of what we're putting in and getting out (tho we'll never really know, as we don't work alone —none of us are islands as it were— and the sum is more than the parts… so it's going to be rough estimates at best) but maybe not judge those inputs and outputs as "good" or "bad" too much… maybe instead aiming for more of an "it's all relative" or "it depends" kind of perspective.
denny
07/24/2024, 3:46 AMSubsequently, the day will come that an software developer is the cause for killing someone - and "professionalism" will be forced upon us.Software developers have already caused the deaths of many people, see https://en.wikipedia.org/wiki/Therac-25 for a classic example. And not just software developers… Maybe even you and I, just by looking at a video of someone doing something unsafe! (the logic is that people want to be popular basically + "don't do this at home") What I'm getting at, is that if there is a fault, we can't just use the transitive property to effectively blame everyone, we have to use logic and reason to determine responsibility. We use things like insurance (it is not all a racket, but don't get me started, lol) to help make things safer. So for example with medical equipment, you should be able to get a lower rate for insurance if your software has been audited, and this is basically how it's supposed to work for lots of stuff (again, don't get me started on the racket-like-reality that often manifests, lol). Regulating medical devices is vastly different from 99% of all programming. I should not have to get insurance and some kind of board approval to write or publish code because of that 1%. it's all much messier than absolutes (which is why absolutes are so tempting).
Brian
07/24/2024, 1:35 PMdougcain
07/24/2024, 1:45 PMAdam Cameron
which build on all the work that has gone before and the lessons learnt. By all means re-invent the wheel because yours is the best wheel everThis sums up the situation well. Only a fairly... adolescent-level developer would think they know better than everyone else in the same situation who went before them. This in itself is reason to stick with established frameworks. But sadly these are the very devs who "just don't get it". And there's plenty of other reasons to not flout industry standard approaches to things just cos one thinks one knows better. But it's a self-correcting environment as demonstrated here:
I was turned down from a gig partially because of my "inexperience" of using one of those prevailing frameworks.Well. Quite. Ppl don't wanna hire ppl who don't have industry experience and think re-inventing the wheel is a thing one ought to be engaging in in 2024. But, obviously... you do you.
seancorfield
I was turned down from a gig partially because of my "inexperience" of using one of those prevailing frameworks....and what were the other reasons? Reasons I have turned candidates down, when hiring, include: • Lack of experience with basic OOP concepts (for CFML) • Lack of experience with automated testing (and I'm not even talking about TDD) • Lack of experience with version control (sad, but true) • Lack of experience with bug tracking systems (also sad, but true) • Lack of even basic comprehension of automated build & deployment pipelines (CI/CD) If all you're building are basic HTML CRUD apps, sure, you can hand craft those but that is a very tedious and inefficient way to work when you have the option to reach for something like Rails (or ColdBox or whatever -- nearly every server-side language has tooling to write this boilerplate for you). If you're building anything more complex -- especially if you're building an interactive frontend app in JS -- you just won't be able to compete with someone using a framework.
If you have a job that demands it, cool. Go with what the boss wants.Most jobs demand it these days -- and developers without that experience (and especially developers who appear to be anti-framework/library) are not going to get any of those jobs. It's 2024, not 1994 🙂
Adam Cameron
... you can hand cruft those...Seems fitting, that said.
Bill Nourse
07/24/2024, 3:56 PMseancorfield
But most apps are not complexI guess it depends where you work. I haven't encountered a "not complex" app for about thirty years at this point, except for toy/demo apps...
seancorfield
Adam Cameron
And Adam, this is just my opinion mate. You don't need to be a curmudgeon. Oye.You posted your opinion in a public discussion forum. Clearly soliciting feedback. I mean like otherwise why bother?
curmudgeonPlay the ball not the player mate. If you have a case to make... make the case. Don't resort to ad hominem. Like I don't take offence, but it's a pretty weak response.
Bill Nourse
07/24/2024, 4:33 PMBill Nourse
07/24/2024, 4:49 PMMark Takata (Adobe)
07/24/2024, 5:00 PMBill Nourse
07/24/2024, 5:04 PMdenny
07/24/2024, 5:31 PMBill Nourse
07/24/2024, 5:51 PMaliaspooryorik
But most apps are not complexSure, day one it is not complex, but the chances are that you're going to need to evolve that application so it will become complex over time, so why not just use a framework before it becomes too complex to retrofit a framework?
aliaspooryorik
dougcain
07/25/2024, 11:09 AMbrendan
07/26/2024, 5:03 PMseancorfield
denny
07/26/2024, 5:16 PMlocaldev
(this is local development env.) due to massive amounts of data, you basically never have the full set locally, so instead you have a tool that grabs what you need— think like a "shallow" git clone of a massive repo, but for data, with some simple stuff to grab either the last few days of data, or some targeted range.
You do your local development here. You've got your schema versioned, and you can safely turn on things like Hibernate's auto-schema feature (or else run some other model syncing tools) which you never run anywhere else. If the schema changes, either automatically or due to SQL you create yourself, you know it (this check is automated), and so you take that change and create a "migration" form it. Usually this is just copying the generated SQL into a numbered SQL file in a "migration" directory.
…denny
07/26/2024, 5:17 PMdenny
07/26/2024, 5:18 PMBill Nourse
07/26/2024, 5:50 PMbkbk
07/28/2024, 1:52 PMBill Nourse
07/28/2024, 11:46 PMrodyon
07/29/2024, 2:11 PMMark Takata (Adobe)
07/29/2024, 3:51 PMgavinbaumanis
07/29/2024, 11:28 PMdenny
07/29/2024, 11:37 PMdenny
07/29/2024, 11:47 PMMark Takata (Adobe)
07/30/2024, 12:15 AMbkbk
07/30/2024, 12:35 PM"The initial states, Shu and Ha, are analogous to using a framework."
in place of
"The initial states, Shu and Ri, are analogous to using a framework."