# Thereotical question about today's software



## goshanecr (Feb 8, 2017)

Good day!

I want to ask, what do you think about such problem. Or maybe this is not a problem at all?

All we hear about Moore's law and it seems to work for current days. So from 90's to 2017 CPU performance, RAM capacity and HDD capacity grows in nearly 1000 times.
But why all today's desktop software needs more and more recources for his work?
Is it because IT-developers don't want to think longer for search more effective way for his task and prefer using various toolkits with reach functionality?
Is IT industry  absolutely loose their creativity spirit, which was in early years?
There was a projects like Kollibri OS (operating system and software writtens in asm), Demoscene culture and more reliable projects like nginx, databases etc, which optimises continuosly. 
Why it is impossible use for example PC Pentium 2 with 128Mb RAM for desktop needs?
I'm understand that commercial monsters like M$, Apple and of course hardware manufacturers interested in constant sales new OS'es, soft and hardware, but why opensource community with their original opposition to corporate interests, go in the same way?

- Want to start clean X server? Please prepare initialy 64+MB RAM and after 10 minutes of using much more... For what? Just for graphic mode?!!
- Browsers - just no comments
- DE possible to search minimalistic for recource, thanks to enthusiasts
- Media soft (video players) are more slow than early. I compare situation when in 2001-2002 I'm see DivX video on AMD K6-II 300Mhz, and my experience on using of FreeBSD and Gentoo on old PC's with hard frame dropping.

So question for discussion is why there is not todays enthusiasts who organize in groups for develope with manifest "Programming - can be beautiful"


----------



## Deleted member 9563 (Feb 8, 2017)

It's all about the bling. Little substance, although there is a small amount of that too. I totally agree that it would seem that this cannot go on forever the way it is. However I'm sure that most people using computers will see things as being something other than what we see. In fact most people already perceive a computer and computing completely differently now than they did even 10 years ago.

I personally like simple and functional things, and I can get that in software by using old stuff. I still use DOS on a daily basis. Most of the programs are under 10K and are written in such a way (mostly assembler) that they don't require maintenance. Some even go back to 1984 (just had a peek). This stuff does almost everything that I really need. It is particularly interesting, for example, that I can put a whole operating system and the necessary programs to do functional email on a 360K floppy. As it is, I use a modern system for that but only because I can and thus get an incremental increase in functionality. Although the modern system is probably a million times more complex both in hardware and software.

Right now I am experiencing a relevant situation. (Easily fixed by restarting the browser however.) I am typing this in a browser, and as often happens on this forum site, something is making the characters delayed. We accept this sort of crap nowadays. I would think that if a programmer from 1988 saw some of the stuff we put up with  nowadays, she'd roll her eyes at the utter incompetence we put up with. In may ways the we've gone backwards. I solve the problem, probably the only way possible, by enjoying the best of the old and the new. Lightning fast from the past, beautiful pictures from the present.


----------



## Criosphinx (Feb 8, 2017)

Reminds me of Wirth's law which is more than twenty years old:

https://en.wikipedia.org/wiki/Wirth's_law

Some related posts in this Thread 56850


----------



## drhowarddrfine (Feb 9, 2017)

Criosphinx said:


> Reminds me of Wirth's law


I had forgotten all about that while often stating similar things for many years!

From what I observe, the problem with software now is the proliferation of untrained people learning to program for the web using the cut and paste method in combination with someone else's library and framework. Where it was once asked, "What language are you programming in?", now we're asked "What framework are you using?". Worse, when one finds out you aren't using anyone else's software, and you coded it yourself, you are looked at as if you are from another planet and point blank with a straight face told, "No one does that anymore!". To which I would often reply, "If no one codes directly in a programming language anymore, who wrote those frameworks and libraries and how did they do it?"

So then what happens when their framework/library doesn't work or doesn't do what they want? Well, there's another framework/library that fixes that for them, too. No coding or thinking necessary!

Just yesterday, I read someone say, on a forum, that "No one writes HTML anymore" giving credence to my belief that the world is coming to an end.

Young people today just want a quick fix. Instant gratification. They don't understand how these tools work, they don't want to know, they don't care, cause they believe they don't have to. It's an observation of mine, too, that I never hear of these, even dedicated people three years down the road making me think they are no longer in the industry and, perhaps, hoping they aren't, too.

Even 15 years ago, I heard it said that we shouldn't worry about optimization of software because fast hardware will take care of that but, now, Google is trying to write specifications and tools to help people make their code, markup, downloads smaller cause it's all gotten too big and slow. And then when one wants to use C to speed things up, you'll get howls of laughter.

"No one uses C anymore," despite what the truth is.



> Thereotical question about today's software


If only Professor Irwin Corey was still here to answer.


----------



## ANOKNUSA (Feb 9, 2017)

drhowarddrfine said:


> Young people today just want a quick fix. Instant gratification. They don't understand how these tools work, they don't want to know, they don't care, cause they believe they don't have to


As one of those insidious "Millenials" who's hell-bent on destroying the planet, I'd like to point out that it's not us youngsters who want this. It's out employers/investors/people who want all the money right this instant and insist on the sloppy quick fix to get it done. I'm just old enough to know programmers my age who started their careers in the time wen people still talked about what language they used, and the language everybody used was Java. Everybody hated it, most of them thought another language was better-suited, but Java was what all the suits wanted.

My opinions are in line with those of drhowarddrfine almost all the time, but people have been saying this sort of thing since the rise of the earliest manufactories 200 years ago, when people complained about the decline in artisan goods/craftsmanship fin favor of or more profitable mass production. That's not to say that today's developers aren't misguided, but the folks with real influence prefer a dumb, obedient cubicle monkey to an artist.


----------



## ShelLuser (Feb 9, 2017)

It's a combination of factors to be honest where the most obvious one is where programmers don't always fully program but utilize ready-made solutions to set up their stuff. Java and .NET are good examples of that, but you also see this within other fields. And the reasons often boils down to time = money. Or laziness I guess.

But I think it goes much deeper. Because where do the developer tools come from? That too can start a whole cycle by itself.

Thing is, we've seen plenty of examples in the past already where other solutions worked better and faster. I still remember GeoWorks Ensemble. Now, it wasn't a fully integrated environment such as Windows 3.11 and later 98 was, but it was amazingly fast. Even on a regular 286 could you get some pretty interesting results where Windows often wouldn't even run properly.

And there were also commercial interests. I mean: when Microsoft kept working near the edges of what was possible then their new products would also trigger people to buy into new hardware to get things working more smoothly. And that also worked all across the spectrum, the gaming industry especially.

Sometimes tells me that the hardware industry didn't mind at all 

But to get a bit deeper into the "have we become less creative"...  I don't think that's the case, I think people have become much more conservative. Unwilling to take too many risks because if you do then you may end up loosing money over it. And in the end that's usually what it boils down to.


----------



## kafka0 (Feb 9, 2017)

I believe @drhowarddrfine and @ShelLuser have a point when they it's a combination of what the suits want and the tools at the disposal of the developers. In addition to that, I think we must take into account how the IT jobs and software markets strive off fashion: everything must always follow what's new. This includes many startups, which are forced to have the investor believe they're doing something entirely new (hence the plethora of projects suffering from the NIH syndrome), very visible (every project must be marketed through its community, and must be open source as a result) and must pretend to be so novel it needs new technologies. When you do that, the question is not whether it's optimised on this or that platform, but rather if you'll manage good time-to-market.

But I believe we must not forget that we, the users, expect much more from consumer applications today than we used to 15 or 20 years ago. Everything must be aware of the net and social ecosystem (allowing us to share everything on a dozen of platforms, all through platform-specific APIs), everything must be secure, everything must be well integrated into the host OS.

As for server applications, I think the same thing is true: if we take PostgreSQL, the latest 9.6 release has a lot more to offer than Postgre95: SQL:2011, pl/perl, pl/python, pl/R, pl/pgsql, WALs, new index types, a great CLI (psql), etc, and I don't think we can suspect the PostgreSQL team of not paying attention to performance.


----------



## drhowarddrfine (Feb 9, 2017)

ANOKNUSA said:


> I'd like to point out that it's not us youngsters who want this. It's out employers/investors/people who want all the money right this instant and insist on the sloppy quick fix to get it done.


Well, we still agree because this point was one I was going to mention in my post but forgot. However, I constantly find that, far too often, the untrained now take this as their mantra and run with it as if it was spoken by Dennis Ritchie and Ken Thompson themselves.


----------



## roddierod (Feb 9, 2017)

I'm in agreement with everything drhowarddrfine, ShelLuser and ANOKNUSA have said.  I'm one of the programmers that is left over from the old days of "what language are you programming in?" days.  I still write my own libraries (or frameworks as they are now) and people just look at me like I'm a nut, but that is what I enjoy doing. I don't understand how people can use code that they don't fully understand...but that seems to be a greater symptom of how society is now, "I don't care how it works, just do what I want now." I work with a few "Millenials" and just a few days ago I was explaining to a one of them who I changed a base class I wrote and he said "I never understood what that did, I just copied and pasted it" and it just struck me that this is the majority of how he programs...and he's a relatively good programmer.



kafka0 said:


> But I believe we must not forget that we, the users, expect much more from consumer applications today than we used to 15 or 20 years ago. Everything must be aware of the net and social ecosystem (allowing us to share everything on a dozen of platforms, all through platform-specific APIs), everything must be secure, everything must be well integrated into the host OS.



Is this really true or is this what marketing is telling us?  Have we really become that lazy or in a rush to get nowhere that we need a networked refrigerator accessible from the internet to see what we need to buy from the grocery store, instead of opening the thing in the morning and looking for less than a minute? To me the old joke of NetBSD running on a toasters has turned into a nightmare reality.  Surely I can't be the only person feeling this way.  I can't wait for the revolt from "the cloud" come in 15 to 20 years, just like the revolt from the mainframe that lead to desktop computing and opensource.


----------



## ASX (Feb 9, 2017)

drhowarddrfine said:


> ... as if it was spoken by Dennis Ritchie and Brad Thompson themselves.


most likely you meant to write *Ken* Thompson ...


----------



## drhowarddrfine (Feb 9, 2017)

ASX Yeah. Brad Thompson was a baseball player for the local team. Fixed.

So I left this forum and went to Stackoverflow and immediately came across this question asking whether one should use a framework for a web application or HTML/CSS/Javascript. I just cannot fathom that being a legitimate question.


----------



## kafka0 (Feb 9, 2017)

roddierod said:


> Is this really true or is this what marketing is telling us?  Have we really become that lazy or in a rush to get nowhere that we need a networked refrigerator accessible from the internet to see what we need to buy from the grocery store, instead of opening the thing in the morning and looking for less than a minute? To me the old joke of NetBSD running on a toasters has turned into a nightmare reality.  Surely I can't be the only person feeling this way.  I can't wait for the revolt from "the cloud" come in 15 to 20 years, just like the revolt from the mainframe that lead to desktop computing and opensource.



Just to dispel any misunderstanding: I wasn't saying this is what I like or what I want, when I said "we", I meant the general user population. I'm like you, I like working on my own code, writing my own libraries, etc.

Getting back to your question, whether what I described is true or just what marketing is telling us, I would say it's both. Marketing says every application (every "app") should behave this way, and in my experience, many, many users, including in the new generation of developers, do look for these features in the programs they use and don't care about the rest (effectiveness, openness, etc.). I think people have become accustomed to this state of affairs and when some piece of software doesn't give entire satisfaction, they expect it to be re-invented somewhere else, not fixed. And when things become slow, they just buy newer hardware.


----------



## goshanecr (Feb 9, 2017)

Friends! After reading your mentions, I understand that points of view:
1. Today a wide needs of IT works, and business want get product as fast as possible, no means for resources it uses, because resources are cheap. And programmers must do products as fast as possible, because that requests of business.
2. Many frameworks exists because of #1, and it widely used because of #1
3. After IT technologies widely spreads, it is much less romantics in industry, and much more lazy programmers. And programmers today are very ordinary profession.

But I don't understand that point:
If Open Source for spending free time for working at project wich likes (Of course there are many corporate paying work on various projects. Linux, FreeBSD and others), so why enthusiasts who spends time for liked project not doing it accurate, strong and in right way?

It will be cool if community collaborate around idea "Build set of software that works perfect in no more than 64Mb RAM". I think that task will be very good programming challenge for it participants and some piece of creativity in IT world.


----------



## kafka0 (Feb 9, 2017)

goshanecr said:


> But I don't understand that point:
> If Open Source for spending free time for working at project wich likes (Of course there are many corporate paying work on various projects. Linux, FreeBSD and others), so why enthusiasts who spends time for liked project not doing it accurate, strong and in right way?
> 
> It will be cool if community collaborate around idea "Build set of software that works perfect in no more than 64Mb RAM". I think that task will be very good programming challenge for it participants and some piece of creativity in IT world.



If you have no one interested in your product, there's no point in putting any effort into it. Take NetBSD: I find it great to have such a clean OS, able to run on so many platforms. But less and less people are interested in running an OS on, say, VAX, so VAX has become a Tier II platform, meaning less people working on this port. Working on Open Source project can be an ego-driven activity, and if there's no one to use what you code, you might as well move on to something else.


----------



## ShelLuser (Feb 9, 2017)

goshanecr said:


> If Open Source for spending free time for working at project wich likes (Of course there are many corporate paying work on various projects. Linux, FreeBSD and others), so why enthusiasts who spends time for liked project not doing it accurate, strong and in right way?


Who says they aren't? Some may not, others may, it's not a pre-set standard.

Now, maybe it's not fully related to the topic at hand, but within this field we often see a completely different problem surface. One which also finds its way into the commercial sectors but you don't hear as much about it: bad or no designs.

There have been _dozens_ of projects (the Linux kernel being one of them) which at some point have been completely rewritten from nearly the ground up. Simply because during the development process problems started to occur, which usually hints at a bad design.

And I think it's a very common problem. I've become quite a fan of the UML standard and basically use it for just about anything. I've even documented network topologies using UML diagrams (deployment diagrams to be precise) and although I'm sure I violated plenty of policies within the official standards I still ended up with something easily understood and quite usable.

Now, I'm not trying to imply that UML (or any other design standard such as SysML for example) is the de-facto solution, but I do think many people totally overlook or ignore the potential problems which can arise from not applying any design at all. Simply because I also used to do that when we were taught the theories behind software design (we're talking the 90's by the way). Because doesn't the source code provide its own blue prints? Isn't that the best documentation a developer can hope for?

Well, no 

For starters the issue of different people, different coding techniques and different approaches to problem solving. I think everyone who is active within the field of programming and who has looked back at their earlier work can relate to this. You're either thinking "_What was I thinking?_" because you could easily optimize your work right now, or you're having problems trying to get your fingers behind some of your applied logic back then.

But back to the topic at hand: I think this can also plague some projects and software developments as a whole. Instead of going for a fully optimized (or "best as possible") people sometimes apply workarounds to make something come together and stick. But... at what price?

As always, just my 2 cents


----------



## horseflesh (Feb 10, 2017)

I'm also a grouchy old software guy, and I too hate how bloat has consumed so much of the magical increase in hardware capability that we have been given. But don't overlook the benefits that come along with the half-assed, "someone else's framework" driven methods of software development. We are seeing a tremendous increase in the AMOUNT of software. It is an explosion of creativity and the creation of billions of dollars in value. 

I would not have the job giving me the latitude to sit here during lunch typing this if not for the success of companies like Apple and Facebook, and a lot of that is due to the existence of "sloppy" software. After lunch I will discuss some new features with my devs, features they would not have time to create if not for "sloppy" tools like Unity and free frameworks that they did not write themselves. Later tonight I will play some amazing video games thanks in part to the supercomputer that lives in my Nvidia card, and the "sloppy" mods that the game's community have provided. 

I am _more _than OK with all of that. 

A long, _long _time ago--back when Apple was kind of cool instead of a peddler of rose gold fashion accessories--they had a commercial that I will never forget, because it said something really smart: "a computer is a bicycle for your mind." 

So yes, I wish software were better in general, that there were more Mozarts working in assembly than yo-yos hacking together flashlight apps for our phones. But you take the bad with the good. Ideas matter as much as execution and in today's environment it is easier than ever to get your idea off the ground, thanks to these amazing bicycles we have. 

I look forward to future innovations, even though we'll get crap like Facebook too.


----------



## Deleted member 9563 (Feb 10, 2017)

Nice to see that some people benefit. As a user, I certainly don't. How many times do I have to make the decision to either abandon the time I've spent waiting for some "innovative" web site to load or if I should wait yet another 2 seconds. This saving of time and money on the developer's side is all very fine but I think that the cost to society (in both time and money) is likely proportionally greater.

This forum software would be a case in point. I had to click several times for no gain on my end, and two of those involved a considerable wait. In this day and age we accept this. With my troll hat on, I'd call it malicious. But even just speaking as a decent human being, I'd call it disrespectful.


----------



## drhowarddrfine (Feb 11, 2017)

horseflesh said:


> It is an explosion of creativity and the creation of billions of dollars in value.


It's not an explosion of creativity when you use someone else's canned software that takes seconds to load increasing your mobile service costs, requiring the purchase of bigger servers to serve it and bigger computers to display and run it. It's no advantage to developers when the framework they are using gets disavowed every three years in favor of something new and then you're not the cool kid on the block anymore. You know Wordpress but my company uses Laravel so you suck except my friend's company uses Meteor and you suck, too, but my company won't hire any of you cause you don't know <insert newer framework here>. 

I don't like to argue these things here because they become very reddit-like (and I despise reddit) but these things are often an attempt to make fireworks and explosions for marketing and sales with no content that makes our lives better. 

On the other hand there are companies like mine with less than one-second page loads of any content on sites we develop. It's how we well ourselves. Our sites "blink" on but we use no outside software whatsoever save things like FreeBSD, nginx, postgresql and so on. 

But now some of these places want us to work with their canned stuff and we refuse to do so. If they want to interface their stuff with us, fine, but never the other way around.

Which makes me think of Vincent Price who once did a commercial for butter:


> They say their margarine tastes just like butter but we would never say butter tastes just like margarine.


----------



## bcomputerguy (Feb 14, 2017)

goshanecr said:


> Good day!
> 
> I want to ask, what do you think about such problem. Or maybe this is not a problem at all?
> 
> ...



I tried asking similar questions on on the stack[____] sites and was banned because those questions are too broad. I think people who think like you, if you can think these issues through could create new industries in the future. In my opinion as we move forward code should SHRINK but it seems code bloats up over time.

I think the problem is two fold most advanced programmers with a job spend a lot of time maintaining old software, like the guy from Solaris who made the Dtrace tool. In one of his talks he said he was talking to a major bank and they still used intel 386 machines in production today. Also one of the top guys doing linux kernel work said the japanese govt wanted to update their systems and asked for a custom linux that would have 30 year warranty and support. So the guy with the skills are duct taping that old crap together. 

On the other hand a lot of the new programmers come in doing hackathons or lil projects where they use some toolkit to do something cool, then they run into issues trying to expand on it or whatever. Some advanced programmers will come out of this influx of new minds but it'll take a while to shake out.


----------



## bcomputerguy (Feb 14, 2017)

gpatrick said:


> You must not work for a large company.  The company I work for is Fortune 200 and we run old AIX 5.3 and Solaris 8 on 20 year old hardware for some applications.  Of course they are being moved to Linux but it takes years (decades) for those to finally happen.  Then of course you have an application that runs on the mainframe, but it is going to join the bright new world of development and go from Cobol to Java; from 1 mainframe to a few thousand distributed Java servers.  Server expansion has gone from a few hundred 10 years ago to 10,000 servers today, mostly due to Java.



I don't come from a traditional CS background I'm self taught and was never interested in working for big companies like that. It's really insane to hear that these things are so widespread. It does seem to be true that most engineering time and costs are spent maintaining the old way of doing things. 

I understand that mission critical things shouldn't be updated for funzies but there has to be tons of improvements by just updating the software and tools.

I taught myself programming first struggling with games but once I understood the basics I started to learn everything from the metal up, migrating to BSD was only a natural choice. There seems to be an infinite amount of interesting questions to ask and answer in computer science but the things that money funds is mainly interested in holding up the old order.

One thing I really like is RISC V I think there are more room for things like that, in the GPU space would be nice as well.

The line about servers expanding, I don't think that's necessarily a bad problem to have; if it was done properly, everything should be able to work on 1 server and be able to go faster with more available resources. Sure it will take a lot of work but it's called software engineering for a reason.

If we engineered bridges, airplanes and skyscrapers the way a lot of software is engineered today there would be hell. I guess only time will tell if we can improve this situation.


----------



## ASX (Feb 14, 2017)

bcomputerguy said:


> If we engineered bridges, *airplanes* and skyscrapers the way a lot of software is engineered today there would be hell.


Today airplaines are mostly driven by computers and software, and that improved safety. 
Cannot say the same for bridges and skyscrapers.


----------



## bcomputerguy (Feb 14, 2017)

ASX said:


> Today airplaines are mostly driven by computers and software, and that improved safety.
> Cannot say the same for bridges and skyscrapers.



Delta airlines says otherwise, there are more but I am too lazy to find them now. There was a lot of computer software issues that was the cause of a lot of airplanes going down in 2016. Software engineering does affect human lives. Acutally as I type this I just remembered of a predator done crashing because of an in flight firmware update; maybe they were running windows 10 

I am aware that computers can improve safety if done correctly, the problem is when software is hastily put together and shoved out the door.


----------



## ASX (Feb 14, 2017)

bcomputerguy said:


> Delta airlines says otherwise, there are more but I am too lazy to find them now. There was a lot of computer software issues that was the cause of a lot of airplanes going down in 2016.


Kindly disagree, and btw I was impliying at flying systems, but that is going completely off-topic.



> I am aware that computers can improve safety if done correctly, the problem is when software is hastily put together and shoved out the door.


Of course, here I can only agree with you.


----------



## bcomputerguy (Feb 15, 2017)

goshanecr said:


> Good day!
> 
> I want to ask, what do you think about such problem. Or maybe this is not a problem at all?
> 
> ...



From the above quote, my opinion to the question is money. The people with the money bags tend to want more money, the things that make money typically means not rocking the boat but if we look at the things that change the world they did rock the boat. Xerox park for example, Twitter, Facebook, Google, etc... What do all of those listed companies have in common? They had tons of financial support from DARPA, CIA, and govt agencies with deep pockets.

Most people don't have the resources to support themselves while they can focus on programming or creating something new and the things the money is being spent on is; like I said earlier is holding the line.

Take a look at the company boston dynamics, they're getting tons of financial support to build those walking robots; where's there funding coming from? The military.

So the answer to your question is money.


----------

