Page 1 of 2

most challenging thing?

Posted: Tue Feb 26, 2013 1:27 pm
by Sam111
What do you guys think is the most challenging thing in the electronics/computer industry. This can be anything from the computer sciences theory , turings, formal language ,NP ,...etc
As well as computer hardware /cpu design , electronic circuits , software engineer /programmer...
networking , security ,...etc etc any thing with electronics or computer related

Do you still think os or complier (language) development is the the hardest ?
Or is it AI ?
Quantum ?
Theory ?
Management ?
Electricity ?
...?

Just curious on what you believe or what you find the most challenging and why?
I know there will be many different opinons on this based on people strengths/weakness, and there passion towards these fields / subareas.

Re: most challenging thing?

Posted: Tue Feb 26, 2013 2:21 pm
by Mikemk
compatibility between platforms. So, the purpose of my os is compatibility - so that users will be able to say, will "X" work on my computer, and the answer is yes. I'm not exactly sure how to handle software from other platforms/architectures, I think I'll run them in a semi-emulated state.

Re: most challenging thing?

Posted: Tue Feb 26, 2013 3:28 pm
by bewing
I think m12's issue is contained inside a larger issue -- badly designed standards. Imagine how nice life would be if a perfect disk drive and CD and USB interface had been implemented in 1990, and had never been modified since.

Re: most challenging thing?

Posted: Tue Feb 26, 2013 4:07 pm
by dozniak
The hardest problem is keeping the idiots out and educating the rest properly.

Modern kids are more or less ok with the computer tech, but older people are still far behind. What Apple does with this is noteworthy, iPad for example is extremely easy to use even for those who have never owned a computer.

Re: most challenging thing?

Posted: Tue Feb 26, 2013 4:56 pm
by iansjack
Imagine how nice life would be if a perfect disk drive and CD and USB interface had been implemented in 1990, and had never been modified since.
It was. And then we implemented a more perfect one; and we invented DVDs; and we invented BluRay; and we invented SSDs; and .... It's called progress; get used to it - it's here to stay.
Modern kids are more or less ok with the computer tech, but older people are still far behind.
I guess at 67 I should resent that, but then I think, what the hell. As you grow from being a kid, to a young person, then middle-aged, then verging on the elderly, you will be amazed at how much more intelligent your parents become.

To address the OP, yes I think that OS design is, if not the most difficult pursuit, well up there. You need a wealth of knowledge and disciplines, the documentation is often hard to find or inadequate, you deal with some particularly difficult concepts - particularly when interfacing with the hardware - and debugging is a bugger. Yet every Tom, Richard (touchy swear filter - I'm guessing it was made in the good old US of A by the guy who beeped SoaB out of A Boy Named Sue!), and Harry thinks they can write the perfect operating system.

Re: most challenging thing?

Posted: Tue Feb 26, 2013 6:31 pm
by Mikemk
iansjack wrote:
Imagine how nice life would be if a perfect disk drive and CD and USB interface had been implemented in 1990, and had never been modified since.
It was. And then we implemented a more perfect one; and we invented DVDs; and we invented BluRay; and we invented SSDs; and .... It's called progress; get used to it - it's here to stay.
So, there should be an adaptable standard. I don't mean leaving open bits, which seems to be common, but that the hardware should include flat format drivers, or instructions for the os on how to use it. A standardized port read would give a list of hardware drivers and how to use them.
iansjack wrote:
Modern kids are more or less ok with the computer tech, but older people are still far behind.
I guess at 67 I should resent that, but then I think, what the hell. As you grow from being a kid, to a young person, then middle-aged, then verging on the elderly, you will be amazed at how much more intelligent your parents become.

To address the OP, yes I think that OS design is, if not the most difficult pursuit, well up there. You need a wealth of knowledge and disciplines, the documentation is often hard to find or inadequate, you deal with some particularly difficult concepts - particularly when interfacing with the hardware - and debugging is a bugger. Yet every Tom, Richard (touchy swear filter - I'm guessing it was made in the good old US of A by the guy who beeped SoaB out of A Boy Named Sue!), and Harry thinks they can write the perfect operating system.
Again, better standards would help here...

Re: most challenging thing?

Posted: Wed Feb 27, 2013 2:49 am
by gerryg400
dozniak wrote:The hardest problem is keeping the idiots out and educating the rest properly.

Modern kids are more or less ok with the computer tech, but older people are still far behind. What Apple does with this is noteworthy, iPad for example is extremely easy to use even for those who have never owned a computer.
I think the truth is the opposite of this.

Modern computers aren't designed by kids, they are designed by trained engineers.

Kids may be able to use computers and ipads and the like but I fear that in the future there will be no-one capable of actually engineering new products.

Re: most challenging thing?

Posted: Wed Feb 27, 2013 4:17 am
by iansjack
A standardized port read would give a list of hardware drivers and how to use them.
Well, a standardized computer - everyone has essentially the same hardware - is the real solution to this. It is a solution that is used commercially, by Apple, but it is not a road that I would want to go down. But, if you like that, let's all standardize on Apple Macs running OS X; we can sure trust them to ensure fixed standards. (And if they decide that you don't need an optical drive, then that's the way things are - you don't need an optical drive.)

I've seen hardware progress from punched-tape to SSD, from ferrite cores (they were neat), cathode ray memory, and mercury tubes to quatum-mechanical gizmos that seem more like magic. I've seen the ways that the hardware talks to the computer change completely over the years. And I can't imagine any set of standards that would embrace that change.

You can't have a list of standards that doesn't change; someday someone will invent PCI Express version 4, USB 5, or even MWNCI 1 (My Wonderful New Computer Interface). You can't limit this with standards that apply to all hardware past, present, and future. You can't even realistically limit just current hardware to a set of standard ports and commands. You concentrate on standard interfaces (UNIX - read() covers a host of differences) and let the low-level guys work out how those interfaces talk to the hardware. But it would sure be nice if the hardware manufacturers documented their hardware to allow the low-level guys to do that.

Re: most challenging thing?

Posted: Wed Feb 27, 2013 9:44 am
by Mikemk
iansjack wrote:But, if you like that, let's all standardize on Apple Macs running OS X; we can sure trust them to ensure fixed standards.
Apple hardware actually follows the least standards. Some of their stuff even follows two completely different standards even though both products are the same price and released at the same time.
iansjack wrote: I've seen hardware progress from punched-tape to SSD, from ferrite cores (they were neat), cathode ray memory, and mercury tubes to quatum-mechanical gizmos that seem more like magic. I've seen the ways that the hardware talks to the computer change completely over the years. And I can't imagine any set of standards that would embrace that change.
What were ferrite cores?
iansjack wrote: You can't have a list of standards that doesn't change; someday someone will invent PCI Express version 4, USB 5, or even MWNCI 1 (My Wonderful New Computer Interface). You can't limit this with standards that apply to all hardware past, present, and future. You can't even realistically limit just current hardware to a set of standard ports and commands.
I'm not saying standard hardware. I'm saying a standard port read (Don't get mad at me, the keyboard, mouse, and hard drive all have standardized ports) or bios interrupt that will return a list of what hardware is available and where the drivers for said hardware can be found. Also, the hardware drivers should be included with hardware

Re: most challenging thing?

Posted: Wed Feb 27, 2013 9:47 am
by qw
I think the most challenging thing in any industry is dealing with people.

Re: most challenging thing?

Posted: Wed Feb 27, 2013 10:12 am
by iansjack
But it's not true that the keyboard, mouse, and hard disk have standard ports, is it? What's the standard port for a USB keyboard? How about a SCSI hard disk as opposed to a PATA or a SATA one? Does it matter if the SATA is in ATA mode? What if it's in AHCI mode or is connected to a RAID controller?

Re: most challenging thing?

Posted: Wed Feb 27, 2013 10:13 am
by Combuster
Hobbes wrote:I think the most challenging thing in any industry is dealing with people.
Or worse, idiots.

Re: most challenging thing?

Posted: Wed Feb 27, 2013 2:04 pm
by bewing
I disagree with iansjack, of course. Change is wonderful, but if it's wild uncontrolled change then all you get is chaos and no progress. That is the entire purpose of standards -- standards exist for the purpose of controlling and managing change. Yes, the standards themselves become obsolete after awhile. However, you have examples of fairly decent standards in the industry (ATA for example) that last for 25 years in good condition and then last further than that as a legacy issue. You have examples of bad standards (MCA and ACPI come to mind) that are barely used or extremely hard to use. And then really bad standards such as jpeg2000 that are so horrifying that they are never even adopted in the first place.

But recently, the standards themselves have been mutating rapidly. A rapdily mutating standard is just as bad as no standard at all -- it means you've already lost the game of managing change. There is even an entity (ISO) that makes money by selling new standards -- and therefore has a financial incentive to introduce defects into the standards they create, so they can create even newer standards with a new set of introduced defects, and sell those. It has long been suspected that Microsoft and Intel intentionally add cruft to any standards they help create, in order to put implementation roadblocks on their competition. And so on.

Perhaps we need a standard for creating standards. Perhaps we need to put muzzles on the committees that create today's standards. Why are there now 4 different styles of power supply for a PC, when there used to be just one? The change in the industry is becoming chaotic and unmanageable again, like it was in the early '80s. I could create a list of the aspects of a well-designed standard, but I'm sure you all comprehend them as well as I do.

BTW, Apple does it all wrong, too. Yes, it is necessary to hold on to a technology for awhile and keep the standards in-house until the technology is mature. But then you have to take the second step, and formalize and pubilish the entire mature standard -- which they really never do.

Re: most challenging thing?

Posted: Wed Feb 27, 2013 4:35 pm
by Owen
bewing wrote:... ACPI come to mind ... that are barely used or extremely hard to use.
ACPI is complex, yes, but is mostly hard to use because nobody implements it correctly
bewing wrote:And then really bad standards such as jpeg2000 that are so horrifying that they are never even adopted in the first place.
Sorry, JPEG2000 use has been increasing exponentially over the past decade. Just because it isn't used on the internet doesn't mean it isn't use.

For example, the Digital Cinema Initiative has standardized on digital films having their video portion as a sequence of JPEG2000 compressed images.

[quote="bewing"BTW, Apple does it all wrong, too. Yes, it is necessary to hold on to a technology for awhile and keep the standards in-house until the technology is mature. But then you have to take the second step, and formalize and pubilish the entire mature standard -- which they really never do.[/quote]
So Apple handing the OpenCL standard over to the Khronos Group is a work of fiction then?

Re: most challenging thing?

Posted: Wed Feb 27, 2013 10:05 pm
by bonch
It has to be abstraction. Everything we do is using abstractions that others have imagined. Most great programmers are brilliant at understanding the abstractions others have imagined--- be they programming languages, API's, operating systems, user interfaces etc--- and putting them to use, but they are not great at inventing abstractions that improve the state of the art. It's a place where art meets science. Good abstractions make things easier for everyone. I think the most immidate place this this skill is manifested is language design, but it's also in designing interfaces and what not.