|
This was the guy that created homebrew. He was turned down for a job at google, he wrote an interesting article about the interview process and getting turned down if I remember correctly.
|
|
|
|
|
This!
Whilst I am always a great one for the latest shiny thing, many years in software dev have taught me that you should research until you find the maturest tools you can that are the closest fit for the task you are trying to solve and then stick with them.
There is a relatively little known web framework built around python that I now use almost exclusively for any web app stuff I have to do: web2py
Why do I use it?
Because - despite a steep learning curve and documentation (as almost always with FOSS stuff) that has been written by someone who is so familiar with how it works that the most basic things you need to now can be hard to pick out - it joins together a number of very mature technologies in a way that just works:
Python 2.x - and now 3.x
Bootstrap Framework 3, and now 4 - this has a huge deployment base so is unlikely to become irrelevant soon.
A built in http server, but can be integrated with almost any other.
A huge library of long-established Python tools that make it easy to integrate with just about any major database system, including the creation of complex interactive forms that can use/edit the data.
It has built-in web-based app creation and editing and debugging tools so no external tools are required to build with it, but equally you can integrate it with Jetbrains IDEs etc. These built-in tools can be a lifesaver if a production system develops a problem not seen in dev because of an unexpected change in the environment, data streams etc.
So, it takes a lot of work to learn, but none of its core technologies are likely to go unsupported in the near future and yet it is sufficiently up-to-date to do just about anything with any web browser/device.
It doesn't require any specific OS and will run happily, without alteration or rebuilding, on Windows (any flavour just about) and linux (likewise) - if the environment will run Python, you can build with web2py on it without installing any other tools at all.
Use it and you will be sneered at by the script kiddies using the latest React, Vue, Flask etc etc frameworks, but unlike them you have a completely self-contained dev and production environment that has no on-going dependencies. (Node.js single-dev maintained modules anyone?) Yet you can still use all the latest python modules etc if you wish. What's not to like?
I'm sure there are other integrated frameworks out there that provide similar portability and functionality (almost certainly there are some PHP systems like this) but I found this one...
|
|
|
|
|
Significant white space is not acceptable to me.
|
|
|
|
|
Fair enough!
No tool suits everyone.
|
|
|
|
|
I stopped working with web development when I retired in 2014. After Microsoft released its version of MVC, this entire side of our profession went bat-s**t crazy with it subsequently creating the mess we see now.
Instead of throwing out the WebForms paradigm, Microsoft should have continued to refine it while giving the finger to all the purists who insisted that MVC was the "correct" way to develop for the Internet.
I still develop applications but they are purely for the desktop where few care if you are using the latest technologies...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Don't attribute to planned that which can be explained by incompetence.
|
|
|
|
|
“The illiterate of the 21st century will not be those who cannot read and write, but those who cannot learn, unlearn, and relearn. ”
― Alvin Toffler
“By instructing students how to learn, unlearn and relearn, a powerful new dimension can be added to education. Psychologist Herbert Gerjuoy of the Human Resources Research Organization phrases it simply: ‘The new education must teach the individual how to classify and reclassify information, how to evaluate its veracity, how to change categories when necessary, how to move from the concrete to the abstract and back, how to look at problems from a new direction—how to teach himself. Tomorrow’s illiterate will not be the man who can’t read; he will be the man who has not learned how to learn.”
― Alvin Toffler Future Shock 271
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
This is a man (Mr. Toffler, not abmv) who clearly does not need to accomplish anything. For any progress to be made, man puts effort into defeating chaos, decrease entropy, order the world. By constantly changing frameworks and the insanity of current web development, I see neither order nor a win against the inevitableness of software rot.
Example: Ruby on Rails - I know many shops who made huge investments, but since technology has "moved on", they now have technical debt which no one wants to work on now that it's not the latest and greatest.
Sure, I'm okay with coming up with better mousetraps. So, abmv, are you suggesting investing on constantly learning the latest thing (get over it)? With the perpetual rolling out of framework after framework, things have gotten so crazy that we've circled back to "anyone can be a developer" the new phrase is low code environment. Another buzzword failure in the making.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
|
So, abmv, are you suggesting investing on constantly learning the latest thing (get over it)? ...well you need to know the fundamentals.... its subjective in software development...it depends on the job...also the new generation of coders will have "bright new ideas".....new ways to do things....embrace the change or perish..
Caveat Emptor.
"Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
|
|
|
|
|
abmv - no argument from me about learning new things. My only point is there are new things and the current flood of this and that frameworks to the point of insanity.
ymmv
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Be honest, how long does it take to learn a framework nowadays?
In the most extreme case, a week.
In the vast majority of cases, a day or two.
As an example, let's look at Vue.
Why would anyone use Vue?
--> It contains data-binding boilerplate code, so you don't need to update every component manually when data changes.
How do you learn it?
--> You follow a 5 minute tutorial on their website.
How do you master it?
--> You take an hour to look at all of the user-reported issues on github and you avoid the parts that don't work.
**The More You Know**
|
|
|
|
|
I would work on COBOL or FORTRAN systems in my semi-retirement, but never an old, slow framework having lots of better competitors.
|
|
|
|
|
My most valuable skill: I can unlearn and relearn anything.
Courtesy of my mother's genes and her terrible long-term recall.
|
|
|
|
|
I believe one cannot experience change unless their is a certain degree of planned obsolescence. If that was not the case then we would all still be cave people, if that.
In technical terms, we would all still be using punch cards, I believe, if it were not for planned obsolescence.
|
|
|
|
|
You can't possibly be serious. Asserting that chaos is planned seems like a direct contradiction, an oxymoron to me.
I'd like a pithy signature here but I just can't think of one.
|
|
|
|
|
Slacker007 wrote: In technical terms, we would all still be using punch cards, I believe, if it were not for planned obsolescence. Nope. The concept of punch cards was invented in the 1700's to control looms, and "modern" punch cards were used well over a century ago for tabulating the 1890 US census.
Punch cards were replaced as a mechanism for data input, output, and storage because technological advances enabled the creation of better mechanisms. There was no planned obsolescence - it simply was progress.
The current mess that Slow Eddie pointed out is far from being progress. If anything, it's numerous backwards steps.
Part of the problem is due to a mass of folks believing they can do it better, so many make their own version of "X". Add to that global communications and talking heads, struggling for relevancy, promoting obscure technologies to make themselves sound useful. Add rabid fanbois and we get the current mess of numerous languages and frameworks that have no future planning and often no backwards compatibility.
Let's look at C# -- 90% of each of the last 10 DotNet framework updates were unneeded "features". Compacting the code so people can type less characters at the expense of readability is worse than useless, as it takes those supporting the code more time to figure out what it's doing. One of my co-workers spent 2 hours figuring out what a function HE wrote 6 months before was actually doing.
Microsoft is churning out updates to keep C# in the news and make it seem relevant.
Keep Hanlon's Razor in mind: Never Attribute to Malice That Which Can be Adequately Explained By Stupidity.
Planned obsolescence? While there is probably some, IMO it gives IT vendors far too much credit, as most appear to have a complete lack of vision beyond tomorrow's sales goal.
|
|
|
|
|
Well said!
I always look at the new language features being released in upcoming Visual Studio upgrades. In recent years, I haven't seen a single one I would have used for fear of making my own development not only look like hieroglyphics but something I cannot understand if I leave the code for any length of time.
and even though the relatively new List<of> collection is inherently, internally superior to an ArrayList, I still don't even use it now since the data I store in my Arraylists is so minimal as to not affect performance.
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
We would be using abacus, if there were no lazy people. Since there are lazy people, someone came up with a way to stop using punch cards, not because someone planned to make them obsolescent.
Planned obsolescence is actually a force that is working against progress. It wastes resources on things, that are cuter and shorter lived, than the ones replaced instead of making them more functional and longer lasting (therefore redirecting efforts and resources from making cheap appliances to making say interplanetary spaceships).
|
|
|
|
|
I stopped trying to keep up years ago. DotNet core put the last nail in the coffin, though.
Before that was the seemingly endless parade of javascript frameworks. No thanks.
I'm retiring in two years, so I don't give a shit anymore.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
I'll be 72 in less than a month. Retirement is not in my future, however. I'll work until I drop dead over my keyboard. Two reasons I can't quit. First, I need the money. Second I'd just lay on the couch , and vegitate, while my wife aggravated the snot out of me.
"Too old to rock and Roll, too young to die." - Ian Anderson (Jethrol Tull)
|
|
|
|
|
could not have said it better myself, but you've got ten years on me
I finally have a hoard of children out of the house, although I do get a few leakers. I am now trying to repair all of the damage and do things for me and my dear wife.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
Hate to burst your bubble, but my 45 year old daughter just moved back in with us, "to save money for a down payment on a house of her own". My wife defends her like a mother bear defending her cub.
Remember, your son is your son until he takes a wife. Your daughter's your daughter, the rest of your life!
"Old man take a look at my life" -- Neil Young
|
|
|
|
|
I blame most of this on the open source "revolution" - anyone can create a framework and the lemmings go running off the cliff to embrace it and if you don't know it you're suddenly in the "out" crowd. It's such BS.
|
|
|
|
|
On the web, JavaScript needs to die and browser based work needs a compilation step, and an actual debugger.
Meanwhile, transpiling, polyfilling, binding-frameworks, browser extensions for debugging.. all spring up to extend the lifespan of JavaScript, because JavaScript is still the king of the hill.
But, ever since WASM got into the evergreen browsers, there has opened up an alternative path, and now a bunch of frameworks are trying to take the hill and kill the king.
On the general UI front, people are trying to streamline UI workflows, so components actually work across platforms.
Which is, ironically, something we almost solved 3x over, but because big corporations hate each other they keep sabotaging every attempt at unifying the UI stack.
As a result, lot's of small initiatives spring up everywhere, which either die out over time, or get bought up and die out over time.
On the scientific front, Julia has created a new programming paradigm, and it seems like those ideas still need to re-invent themselves a couple of times.
On the low-level front, thread-safety is all the hype nowadays, because concurrent threads are a pain in C++, mostly because you need a lot of fault-free boilerplate code.
And after writing state-machine after state-machine to manage your threads, you kinda get tired of going through all that for nothing.
|
|
|
|
|