Advance Code not Hardware?

  • (2 Pages)
  • +
  • 1
  • 2

27 Replies - 3115 Views - Last Post: 28 December 2009 - 12:22 PM

#1 moonknight  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 106
  • Joined: 19-October 09

Advance Code not Hardware?

Post icon  Posted 03 December 2009 - 11:47 PM

Ok, I have been thinking about this alot lateley, that maybe we should advance our coding by using new algorithims. Maybe then we should have a complete one year course (i do not know if there is one) on how to come up with better algorithims for our computers. I mean look at what we had in the past only 64 mb ram (still have the computer) and it ran pretty good i could play runescape and stuff. Now its like whoa i can't do anything on it now.

Also i do not believe our hardware becomes "outdated" i think our coding styles get "bloated" i mean we add more features that are not really "nessisary". Such as, Bloggin in a Forum software. To me why not just have to softwares completly different but write a piece of code that tyes the acounts togetther some how. But I'm not saying that this stuff is not nice to have i like having like theming google chrome or fire fox.

What im trying to say is why not just take a step back and look at our algorithms and coding styles and focus on them, rather then our features. Well for me if the piece of software ran fast and was small i would use it even if i had to go out and download something else for what i'm missing out on.

Sorry for my kinda rant (and i know i'm not smart at programming), But i think it should be done for those who can't afford the new Tech gear or just plain like there old computers, i know i do that's why i use linux on my old compaq sometimes

Is This A Good Question/Topic? 0
  • +

Replies To: Advance Code not Hardware?

#2 Core  Icon User is offline

  • using System.Linq;
  • member icon

Reputation: 774
  • View blog
  • Posts: 5,097
  • Joined: 08-December 08

Re: Advance Code not Hardware?

Posted 05 December 2009 - 10:02 AM

Well there are several points I would like to make in regards to what you have written here.

Quote

I mean look at what we had in the past only 64 mb ram (still have the computer) and it ran pretty good i could play runescape and stuff. Now its like whoa i can't do anything on it now.


Maybe because the software gets more and more advanced, the graphics become more detailed and there is more FX stuff to come. Nobody is ever trying to tell you to drive a '60 Chevy van, when you have a Mustang in your garage. Applying the argument you did - "But hey, I can still drive in my '60 Chevy and I will get to my workplace and back home". Yes you will, but with the Mustang, you will get there faster, in a warm environment (especially during the winter) and plus with a stereo system. Look, we now have HDTV. But why bother with it when we have the good old CRT TVs with a VCR. I hope you understand the analogies. You can still use Windows 95 and work with Visual Basic 4.0. There is a chance you will get some tasks done there, but at what cost? The technology is getting more advanced and it adds value to the daily stuff we do.

Quote

Also i do not believe our hardware becomes "outdated" i think our coding styles get "bloated" i mean we add more features that are not really "nessisary". Such as, Bloggin in a Forum software.


I do believe that this is not true. Indeed, the programming style has changed in the last decade and today less programmers (especially those who aren't really professionals or who just start in the domain) care about optimization. But this will only get them so far - from my short experience I can tell that products that aren't optimized enough don't last for long. As of unnecessary features, I do think that today, many products try to integrate the features needed by the user. I am not sure what forum software are you talking about, but the blogging modules are optional and are only added if the developer wants so - those don't come bundled. A blog in a software developer community (like here on Dream.In.Code) is a great way for the developers who are members of the community to share their experiences and knowledge that do not really fit in any of the forums.

I think that you should clearly define, what you mean by "unnecessary features".

Quote

Sorry for my kinda rant (and i know i'm not smart at programming), But i think it should be done for those who can't afford the new Tech gear or just plain like there old computers, i know i do that's why i use linux on my old compaq sometimes


Well, going back to my point - the technology is advancing - it is getting better and provides features, that make our daily life easier. More performant computers let researchers and scientists achieve better results in shorter time spans. At the same time, faster computers let regular users do more tasks at once and enjoy the power of these machnies by using them for more productive work or entertainment.

You can't stop the progress. As of the "can't afford new gear" - well, if you can't afford something, then you probably should use an alternative - exactly as you do. And by the way, while technology advances, it gets cheaper (just look at the prices for CPUs).
Was This Post Helpful? 0
  • +
  • -

#3 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 160
  • View blog
  • Posts: 1,403
  • Joined: 13-June 08

Re: Advance Code not Hardware?

Posted 05 December 2009 - 12:19 PM

We DO have courses on algorithm construction.

At least, we do in my school.
Was This Post Helpful? 0
  • +
  • -

#4 moonknight  Icon User is offline

  • D.I.C Head

Reputation: 0
  • View blog
  • Posts: 106
  • Joined: 19-October 09

Re: Advance Code not Hardware?

Posted 05 December 2009 - 02:13 PM

I do know what you are saying core, and i actually talked to my mom about that. I agree with you about 99.99999_% it's just that i think we should also have speed/small alternitives (wich i believe we do) but i'm saying Linux distros have bloated linux, wich even linus tolverdas has said. But yes i will agree with you CORE
Was This Post Helpful? 0
  • +
  • -

#5 Amadeus  Icon User is offline

  • g+ + -o drink whiskey.cpp
  • member icon

Reputation: 248
  • View blog
  • Posts: 13,506
  • Joined: 12-July 02

Re: Advance Code not Hardware?

Posted 05 December 2009 - 05:44 PM

Algorithm improvement is a major goal of most programmers, at least professionally. I'm not aware of any serious player in the field that does not look at new algorithms or into optimizing current ones. It is a major field of study. there are college/university courses devoted to it.
Was This Post Helpful? 0
  • +
  • -

#6 GenHornet18  Icon User is offline

  • Darken the Radar

Reputation: 36
  • View blog
  • Posts: 629
  • Joined: 19-October 09

Re: Advance Code not Hardware?

Posted 06 December 2009 - 11:31 AM

This sounds much like the argument that all software should be written in assembly. Hardware requirements would fall and speed would be boosted but production would be destroyed. In order to port this new assembly-written software (and debug it, maintain it, etc.) it would take four times as long, compared to if the software was written in a higher level language. So the only real balance I have found is too write the base of the software in a higher level language and add assembly coding in the crucial parts to boost the efficiency. This helps but everyday they are pushing the optimizations in compilers even higher and better optimized languages are being created so in the end will assembly be outdated at sometime in the future? My instinct says no, but my logic says yes.
Was This Post Helpful? 0
  • +
  • -

#7 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10596
  • View blog
  • Posts: 39,259
  • Joined: 27-December 08

Re: Advance Code not Hardware?

Posted 09 December 2009 - 09:08 AM

Today's computers can perform millions and billions of calculations per second. I don't think using Assembly is going to make a significant difference vs. say something like Java. The other thing is, if it isn't practical, then why do it? Just b/c it's more efficient to run doesn't mean that it is more efficient to maintain. Using an automotive analogy, you can either purchase premium gas or regular gas for cheaper. Though premium gas may give you an extra 2 horse power in comparison to using regular gas, and it costs $0.40/gallon more than regular. Does it make sense to purchase the premium or to use the regular? If it were me, I'd use regular gas.

And reiterating what Core said, if you have access to a faster machine, use it. You can have a very efficient algorithm, but just because it takes 1,000,000,000 steps for large problems vs. the standard 10,000,000,000 doesn't mean that it will run quickly on an outdated machine.
Was This Post Helpful? 0
  • +
  • -

#8 AdamSpeight2008  Icon User is offline

  • MrCupOfT
  • member icon


Reputation: 2264
  • View blog
  • Posts: 9,470
  • Joined: 29-May 08

Re: Advance Code not Hardware?

Posted 09 December 2009 - 12:48 PM

The current problems encountered today are to do with;-
1. managing and taking into account latency especially from main memory.
2. parallelizing code.
Was This Post Helpful? 0
  • +
  • -

#9 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Advance Code not Hardware?

Posted 12 December 2009 - 04:29 PM

Computers are faster and cheaper than ever.

What does that mean?

The culture has really changed from management, and this has flooded down to sources people learn from.

I don't want you to waste money. I don't want you to waste my time.

In the 60s, this meant don't hammer our expensive machine with your programs that take forever. To make sure, we've got this program here at IBM where we bill your department for your compiler, and execution time. So you better have something that runs FAST.

Today? Hell, for most projects, you could open excel98, and crunch a year's data with a few lines of VBA code written by some guy without a damn clue what he wrote (this is the reality).
Was This Post Helpful? 0
  • +
  • -

#10 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 160
  • View blog
  • Posts: 1,403
  • Joined: 13-June 08

Re: Advance Code not Hardware?

Posted 12 December 2009 - 06:06 PM

View Post0xFF, on 12 Dec, 2009 - 03:29 PM, said:

Computers are faster and cheaper than ever.

What does that mean?

The culture has really changed from management, and this has flooded down to sources people learn from.

I don't want you to waste money. I don't want you to waste my time.

In the 60s, this meant don't hammer our expensive machine with your programs that take forever. To make sure, we've got this program here at IBM where we bill your department for your compiler, and execution time. So you better have something that runs FAST.

Today? Hell, for most projects, you could open excel98, and crunch a year's data with a few lines of VBA code written by some guy without a damn clue what he wrote (this is the reality).


You sound like you don't like the growth in the Technology Fields.
Was This Post Helpful? 0
  • +
  • -

#11 0xFF  Icon User is offline

  • D.I.C Head

Reputation: 4
  • View blog
  • Posts: 85
  • Joined: 12-December 09

Re: Advance Code not Hardware?

Posted 12 December 2009 - 06:10 PM

How do you mean? I thought I was kinda neutral on this. I don't have any feelings on this one way or another.
Was This Post Helpful? 0
  • +
  • -

#12 macosxnerd101  Icon User is offline

  • Self-Trained Economist
  • member icon




Reputation: 10596
  • View blog
  • Posts: 39,259
  • Joined: 27-December 08

Re: Advance Code not Hardware?

Posted 12 December 2009 - 09:42 PM

View Post0xFF, on 12 Dec, 2009 - 09:10 PM, said:

How do you mean? I thought I was kinda neutral on this. I don't have any feelings on this one way or another.


You'd better change this ideal pretty quickly. If you don't care one way or the other about learning new skills, then you won't find yourself employed for very long as an IT person.
Was This Post Helpful? 0
  • +
  • -

#13 no2pencil  Icon User is offline

  • Admiral Fancy Pants
  • member icon

Reputation: 5358
  • View blog
  • Posts: 27,315
  • Joined: 10-May 07

Re: Advance Code not Hardware?

Posted 12 December 2009 - 09:54 PM

View Postmoonknight, on 5 Dec, 2009 - 03:13 PM, said:

i think we should also have speed/small alternitives (wich i believe we do) but i'm saying Linux distros have bloated linux, wich even linus tolverdas has said.

I'll be the jerk that asks which Linux distros that you have tried.

I agree to a small degree of what you are saying in your original post. But it ultimately comes down to the operator of the equipment. You can't expect the world to hold itself back because of your values. Gamming computers need bulky equipment. That's all there is to it. To each their own. Let your neighbor buy the latest & greatest hardware to run Windows 7... slowly. What's it to you :)

Btw, it's extremely important to note that Linus wrote the Linux kernel. Until you understand the difference between a kernel, the OS, & software (programs), feel free to leave his name out any arguments relevant to Linux.
Was This Post Helpful? 0
  • +
  • -

#14 SpeedisaVirus  Icon User is offline

  • Baller
  • member icon

Reputation: 114
  • View blog
  • Posts: 855
  • Joined: 06-October 08

Re: Advance Code not Hardware?

Posted 12 December 2009 - 11:03 PM

It seems at least one semester of algorithms is standard at most universities and required to graduate. There is definitely the opportunity to take a more advanced class on the topic for each one to round out a year's worth of algorithms. It also is a very popular research topic. I'd bet almost half the research in the CS field is tied to algorithms(no I haven't looked it up).

Features make people more productive. Some is just glitz but the glitz doesn't matter when it doesn't impede the level of performance on a machine. For most daily duties a $300-$400 dollar PC won't even flinch. Anything you don't want you usually can turn off. You could also use a minimal linux distro which will run on a decade old PC if you really want to. Hell, I wrote a small app for a commodore 64 the other day which is over 20 years old. It certainly isn't anything other than novelty value. Not one reasonable person is going to say "You know my PDP-11 still gets it done, forget upgrading."

A good programmer is still using the best known algorithms for a given case because he has the education and experience to recognize the best possible solution to a problem. I mean we could really write faster code in assembly but if the development time goes to 15 years instead of 1 year is the 15% performance improvement worth it? Not a chance in hell.

With processing power and memory being so cheap we can afford to sacrifice performance for better interfaces, higher level code, and more full featured software. Would you still make your argument if instead of your 64mb of ram you had 8kb of RAM in your SWTPC 6800 and a teletype to interface? Even with a TV Typewriter? How about a Commodore PET? Absolutely not.

Times change, the technology grows, and things get "prettier." The computer revolution didn't stop when the first appliance PCs came out or when the Macintosh came out. Who knows...in another 10 years we could be shifting towards any of the new processing mediums in work like quantum or molecular processing which will shift our paradigm into another realm.

Just because the drum of progress beats it doesn't mean you have to follow. Just don't be surprised when things change and become unfamiliar and inexplicably beyond the capability of your own machine.

View Postno2pencil, on 12 Dec, 2009 - 08:54 PM, said:

Btw, it's extremely important to note that Linus wrote the Linux kernel. Until you understand the difference between a kernel, the OS, & software (programs), feel free to leave his name out any arguments relevant to Linux.


Werd homie
Was This Post Helpful? 0
  • +
  • -

#15 Locke  Icon User is offline

  • Sarcasm Extraordinaire!
  • member icon

Reputation: 521
  • View blog
  • Posts: 5,596
  • Joined: 20-March 08

Re: Advance Code not Hardware?

Posted 13 December 2009 - 01:55 PM

@moonknight: If you're just going to assume that we don't need better hardware to do bigger and better things, then you're going to be sadly mistaken.

By mathematical standards...O(nlogn) time complexity is the best any traditional sorting algorithm can do. And when I say traditional, I mean one that actually compares values. I.E., not counting the Radix Sort, as it acts a bit differently. So...we can't advance our algorithms any better than that. We've got the Quicksort and the Merge Sort, both of which have a best-case time complexities of O(nlogn). The Merge Sort has a constant (best case or worst case) time complexity of that. The Quicksort has worst case complexity of O(n). But the price you pay for the Merge Sort is much more memory usage in whatever case may arise at any given time. The Quicksort uses no extra memory.

So...if you wanna run that stuff on a slow processor for the next XX years, be my guest. Imagine sorting 100,000,000 records with a processor that is about 10 years old compared to a standard one today. It would take A LOT more time.

This post has been edited by Locke: 13 December 2009 - 02:00 PM

Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2