Apple customers like the lack of support. It gets the ecosystem to move. Rather than sitting for a decade with little progress Apple announces something at WWDC and within about 2 years it is standard across the platform: bing, bang, done.
It is getting hard to figure out where IBM is on chips. Arguably the 4 main chips experiencing investment are: x86, ARM, Z-Series processors and POWER series 2 of which are IBM. OTOH there is no roadmap for POWER beyond the current generation. I'd love to know is IBM getting more serious about CPUs or pulling back?
* open source, with a community following ; the kind of stuff Slashdotters would prefer = yep. Including several commercial books * tidy software architecture; simple things should remain simple = It's big and complete. * allow open API allowing usage across many languages (say: Python & Java) = Native Java. iText# is a port to.NET. Not a good fir for dynamic languages. * clear licensing status, not estranging future commercial use = AGPL + commercial license. Clear but not free as in beer for commercial. * serious multilingual & font support = yep. * PDF-handling rich features, not limiting usage for invoicing, e-commerce, reports & data mining = yep * digital signing should not go against other features = has several singing modules. Excellent.
I was in school a while ago. In middle school I had access to VMS in an enrichment program. When I was in college NeXTStep and AIX were the primary Unixes. In grad school: SunOS, AIX, IRIX and that's when I started to use Linux. Many schools do use iSeries. But my point is there are many OSes. As for embedded ones, no. Cisco iOS crosses devices and abstracts the hardware just like any other OS. The fact you can use mostly the same commands on a mid 1990s $400 firewall and a 2014 $75k router indicates how good the abstraction is.
These are likely PPC machines. However Microsoft Office's PPC version from that time came with Connectix's Virtual PC a fairly nice virtualization solution that actually included a licensed version of XP.
My feeling is recent graduates don't have professional level skills in whatever language they'll be working in so I don't care too much (though there is a slight advantage) if they have academic experience in a language. Now of course if they've done a project with a professional toolset in the language that genuinely does help.
As for good and clean I test for that. Maintainable i.e. coding standards... that's up the senior who is doing code reviews. I just take it for granted recent graduates document the wrong stuff. They are focused on homework type documentation showing they know how to do X rather than explaining the tie between business rules / requirements that justify what they are doing.
Solaris / AIX = the last true remaining big box UNIX out there. Many features not found in any of the above. IBM System i = integrated database operating system totally unlike the ones you listed. Mainframe: z/OS, z/VM, z/VSE, and z/TPF Real Time: QNX (well implemented microkernel), VxWorks, PikeOS, eCos Network operating systems: Cisco's iOS, JUNOS, ExtremeXOS etc...
At the application level, who has time to manage memory by hand any more? EEs and mechatronics people, and OS and compiler developers, need to learn C, but most application programmers today do not.
We've just seen a major platform shift in the last 7 years where a platform that focused on performance (iPhone) pushed out higher level language platforms like JavaVM. Performance often still matters. That doesn't mean it always matters. Most applications performance doesn't matter but then again it never did. Which is why COBOL, VAXBasic, PL/1... were popular even when C was being created.
Choice of language increases programmer efficiency. Most of the problems you listed aren't solved by efficiency. They are better solved by abstraction and flexibility. Java is not particularly abstract or flexible. So I'm not sure how your rant is relevant other than it shows why people want CS grads to have a good grasp on programming languages. As an aside COBOL has some excellent abstractions though these aren't flexible and BASIC's level of abstraction and flexibility is highly dependent on which variant.
I have two questions for my fellow Slashdoters: "Is this a common concern with new CS grads?" and, if so, "What can I do to supplement my Java-oriented studies?"
I'm a hiring manager. Not knowing low level absolutely counts against you in terms of breadth of knowledge. It generally isn't a deal breaker but it would be treated the same way as not knowing OS theory, not knowing database theory, not understanding algorithms design, or machine learning. Its a hole, you lose a few points and we move on with the interview. As far as it being common CS grads differ a great deal from school to school, the curriculum is not remotely uniform. A recent CS grad can vary tremendously in what they know and what areas the degree doesn't mean anything than they've had some classes in some computer stuff.
In terms of what you can do to supplement. Learn things unlike Java. Definitely at least one functional language and one procedural language so you have something other than OO programming. Learn a low level language and a very high level language. Languages can do double duty so for example Mathematica is very high level and functional while C or Assembler (better choice BTW) is low level and procedural.
No I'm not. The other phones had music playback. They were equally capable in that regard. If there was any difference at that point it was the music playback interface. What capabilities did it have on playback that other smartphones didn't that you believe are key?
Banning speech is part of an act that is illegal does not allow the government to regulate opinion. The European laws directly allow the government to regulate opinion. That's a key difference in kind No we don't have hate speech laws we have laws against incitement and they aren't remotely the same thing.
The employees aren't the ones that originally we had thought had lied to congress. That was what was being discussed.
In terms of the employees that worked to spy on the Senate and leak and... I agree they should be gone after. I'm not sure jail is appropriate but I think being fired most certainly is. There is no question the CIA has an out of control culture. In the immediate aftermath of 9/11 we decided to go back to an active on the ground CIA and away from the analysis mostly CIA we had at the time. Essentially undoing the reforms of the 1970s. That law had real impact. We have the CIA we had during the 1950s and 60s today. There were good reasons the congress of the 1970s said enough.
The problem really though is that we've created a very strong CIA at the same time we have a very weak and horribly divided congress. Both parties are upset about being lied to, OTOH any action is likely to blow away the consensus and the CIA knows that. So there won't be much in the way of consequences for either the spying or the lying that was being recorded.
For example congress wants to publish a report and is screwing around with the President's opinion on security rather than just declassifying what they think is right and ending the negotiation.
The distinction between a mouse and digitizer is a diversity of input and direct input. For example a mouse has to have a relatively fixed ratio of physical motion to motion on the screen. It can accelerate and decelerate. The digitizer can be far more precise combining gestures to multiple input sources lift vs. drag...
I would think you build your story around the complexity (in this case the tax situation). So the story might be "city with condition X" and then the data picks a particular (NYC). You want to make sure to hit the various cases if you expect different system behaviors.
Windows XP was released October 25, 2001. OSX 10.1 was released about the same time. OSX 10.2 was released May 6, 2002 which is when 10.1 became outdated.
Most 10.1 software had compatibility problems. January 10, 2006 Apple released their first version of their OS where OSX 10.1 programs had to run in emulation. August 28, 2009 OSX 10.1 applications would't run by default. July 20, 2011 no OSX application will run at all even under emulation. It requires a virtual machine.
Which means if I had stayed on OSX 10.1 for an extra decade when I went to transition it would have required a complete top to bottom replacement of the entire application stack.
The same amount of time passed between 2001 and 2011 for Microsoft and Apple. But Apple is more aggressive about outdating software hence the implications are more serious. Those 3 that I listed are the implications of being outdated.
If outdated is defined without a purpose, what are the real life implications of something being outdated?
a) Cost of integration. As time passes the system fits less well with the rest of the software / hardware ecosystem b) Cost of transitioning at a later date. There is a window to transition after that it becomes a very complex project. c) Cost of maintaining and modifying. As knowledge of the system decreases this can skyrocket
What was nice about MAN pages is they evolved iteratively very much like Wikipedia. Wikis for open source software might be a modern version that works.
Agile stories don't make great documentation because of their focus.
Story 1: Enters a transaction in a state which doesn't have county level sales taxes. Story 2: Enters a transaction in a state which does have county level sales taxes but neither the county nor municipality impose one. Story 3: Enters a transaction in a state which does have county level sales taxes the muncipality imposes one but the country does not.
etc...
Mattes a great deal to the software but you are exposing the abstraction. The end user wants:
You are trying to reintroduce the purpose definition. I was rejecting that. A device or piece of software isn't outdated for a purpose it is simply outdated. There are things I liked better about Decnet than TCP/IP. I'm sure it would still work fine for many purposes, that doesn't change it being outdated. As I mentioned my father likes the way ink flows better from a classic fountain pen, and it still writes. That doesn't mean it isn't outdated. There is a whole movement of men moving back towards safety razors away from cartridge razors. That doesn't mean that safety razors aren't outdated.
Outdated has nothing to do with something still being able to fulfill some purpose.
______
What outdated does say is that there are substantial legacy costs over the long haul. As more applications move away from XP the costs of data translation and support go up. As others have mentioned the usage has to be vastly restricted for safety. Given that cheap computers are capable of doing what XP is able to do in most situations asserting it is outdated is asserting that the cost of remaining is likely substantially higher than the cost of remaining, even if the immediate costs are lower.
Of course a DNS server can possibly run fine on XP. DNS ran fine on Windows NT 3.51. So what?
Well subscription is part of the whole cloud computing movement. Microsoft has been wanting to move towards subscription since around 2001. So they are thrilled that their customer base is now getting comfortable with a subscription based model.
Well no I'm not agreeing with your point. I think Apple has a long track record of providing superior products. The manufacturing quality of their laptops is exceptional. It isn't about the logo it is about what they do. Moreover I think the operating system is for most of their users providing a vastly better experience.
In other words people buy Apple because they make better stuff. "For the logo" implies that this is just about fashion.
No, I'm an IBM partner which means I can sell their stuff. I've never worked directly for them.
Apple customers like the lack of support. It gets the ecosystem to move. Rather than sitting for a decade with little progress Apple announces something at WWDC and within about 2 years it is standard across the platform: bing, bang, done.
It is getting hard to figure out where IBM is on chips. Arguably the 4 main chips experiencing investment are: x86, ARM, Z-Series processors and POWER series 2 of which are IBM. OTOH there is no roadmap for POWER beyond the current generation. I'd love to know is IBM getting more serious about CPUs or pulling back?
iText meets some of your criteria.
* open source, with a community following ; the kind of stuff Slashdotters would prefer = yep. Including several commercial books .NET. Not a good fir for dynamic languages.
* tidy software architecture; simple things should remain simple = It's big and complete.
* allow open API allowing usage across many languages (say: Python & Java) = Native Java. iText# is a port to
* clear licensing status, not estranging future commercial use = AGPL + commercial license. Clear but not free as in beer for commercial.
* serious multilingual & font support = yep.
* PDF-handling rich features, not limiting usage for invoicing, e-commerce, reports & data mining = yep
* digital signing should not go against other features = has several singing modules. Excellent.
I was in school a while ago. In middle school I had access to VMS in an enrichment program. When I was in college NeXTStep and AIX were the primary Unixes. In grad school: SunOS, AIX, IRIX and that's when I started to use Linux. Many schools do use iSeries. But my point is there are many OSes. As for embedded ones, no. Cisco iOS crosses devices and abstracts the hardware just like any other OS. The fact you can use mostly the same commands on a mid 1990s $400 firewall and a 2014 $75k router indicates how good the abstraction is.
These are likely PPC machines. However Microsoft Office's PPC version from that time came with Connectix's Virtual PC a fairly nice virtualization solution that actually included a licensed version of XP.
My feeling is recent graduates don't have professional level skills in whatever language they'll be working in so I don't care too much (though there is a slight advantage) if they have academic experience in a language. Now of course if they've done a project with a professional toolset in the language that genuinely does help.
As for good and clean I test for that. Maintainable i.e. coding standards ... that's up the senior who is doing code reviews. I just take it for granted recent graduates document the wrong stuff. They are focused on homework type documentation showing they know how to do X rather than explaining the tie between business rules / requirements that justify what they are doing.
Solaris / AIX = the last true remaining big box UNIX out there. Many features not found in any of the above.
IBM System i = integrated database operating system totally unlike the ones you listed.
Mainframe: z/OS, z/VM, z/VSE, and z/TPF
Real Time: QNX (well implemented microkernel), VxWorks, PikeOS, eCos
Network operating systems: Cisco's iOS, JUNOS, ExtremeXOS
etc...
We've just seen a major platform shift in the last 7 years where a platform that focused on performance (iPhone) pushed out higher level language platforms like JavaVM. Performance often still matters. That doesn't mean it always matters. Most applications performance doesn't matter but then again it never did. Which is why COBOL, VAXBasic, PL/1... were popular even when C was being created.
Choice of language increases programmer efficiency. Most of the problems you listed aren't solved by efficiency. They are better solved by abstraction and flexibility. Java is not particularly abstract or flexible. So I'm not sure how your rant is relevant other than it shows why people want CS grads to have a good grasp on programming languages. As an aside COBOL has some excellent abstractions though these aren't flexible and BASIC's level of abstraction and flexibility is highly dependent on which variant.
I'm a hiring manager. Not knowing low level absolutely counts against you in terms of breadth of knowledge. It generally isn't a deal breaker but it would be treated the same way as not knowing OS theory, not knowing database theory, not understanding algorithms design, or machine learning. Its a hole, you lose a few points and we move on with the interview. As far as it being common CS grads differ a great deal from school to school, the curriculum is not remotely uniform. A recent CS grad can vary tremendously in what they know and what areas the degree doesn't mean anything than they've had some classes in some computer stuff.
In terms of what you can do to supplement. Learn things unlike Java. Definitely at least one functional language and one procedural language so you have something other than OO programming. Learn a low level language and a very high level language. Languages can do double duty so for example Mathematica is very high level and functional while C or Assembler (better choice BTW) is low level and procedural.
No I'm not. The other phones had music playback. They were equally capable in that regard. If there was any difference at that point it was the music playback interface. What capabilities did it have on playback that other smartphones didn't that you believe are key?
Banning speech is part of an act that is illegal does not allow the government to regulate opinion. The European laws directly allow the government to regulate opinion. That's a key difference in kind No we don't have hate speech laws we have laws against incitement and they aren't remotely the same thing.
The employees aren't the ones that originally we had thought had lied to congress. That was what was being discussed.
In terms of the employees that worked to spy on the Senate and leak and ... I agree they should be gone after. I'm not sure jail is appropriate but I think being fired most certainly is. There is no question the CIA has an out of control culture. In the immediate aftermath of 9/11 we decided to go back to an active on the ground CIA and away from the analysis mostly CIA we had at the time. Essentially undoing the reforms of the 1970s. That law had real impact. We have the CIA we had during the 1950s and 60s today. There were good reasons the congress of the 1970s said enough.
The problem really though is that we've created a very strong CIA at the same time we have a very weak and horribly divided congress. Both parties are upset about being lied to, OTOH any action is likely to blow away the consensus and the CIA knows that. So there won't be much in the way of consequences for either the spying or the lying that was being recorded.
For example congress wants to publish a report and is screwing around with the President's opinion on security rather than just declassifying what they think is right and ending the negotiation.
The actual screen is across the room.
The distinction between a mouse and digitizer is a diversity of input and direct input. For example a mouse has to have a relatively fixed ratio of physical motion to motion on the screen. It can accelerate and decelerate. The digitizer can be far more precise combining gestures to multiple input sources lift vs. drag...
I would think you build your story around the complexity (in this case the tax situation). So the story might be "city with condition X" and then the data picks a particular (NYC). You want to make sure to hit the various cases if you expect different system behaviors.
Those are the costs of being outdated.
Windows XP was released October 25, 2001.
OSX 10.1 was released about the same time.
OSX 10.2 was released May 6, 2002 which is when 10.1 became outdated.
Most 10.1 software had compatibility problems. January 10, 2006 Apple released their first version of their OS where OSX 10.1 programs had to run in emulation. August 28, 2009 OSX 10.1 applications would't run by default. July 20, 2011 no OSX application will run at all even under emulation. It requires a virtual machine.
Which means if I had stayed on OSX 10.1 for an extra decade when I went to transition it would have required a complete top to bottom replacement of the entire application stack.
The same amount of time passed between 2001 and 2011 for Microsoft and Apple. But Apple is more aggressive about outdating software hence the implications are more serious. Those 3 that I listed are the implications of being outdated.
a) Cost of integration. As time passes the system fits less well with the rest of the software / hardware ecosystem
b) Cost of transitioning at a later date. There is a window to transition after that it becomes a very complex project.
c) Cost of maintaining and modifying. As knowledge of the system decreases this can skyrocket
etc...
What was nice about MAN pages is they evolved iteratively very much like Wikipedia. Wikis for open source software might be a modern version that works.
Agile stories don't make great documentation because of their focus.
Story 1: Enters a transaction in a state which doesn't have county level sales taxes.
Story 2: Enters a transaction in a state which does have county level sales taxes but neither the county nor municipality impose one.
Story 3: Enters a transaction in a state which does have county level sales taxes the muncipality imposes one but the country does not.
etc...
Mattes a great deal to the software but you are exposing the abstraction. The end user wants:
Story: How to enter a transaction
The neck beards are older. They were like the hipsters when they were in their 20s. Getting older changes things about people. Its a cycle.
You are trying to reintroduce the purpose definition. I was rejecting that. A device or piece of software isn't outdated for a purpose it is simply outdated. There are things I liked better about Decnet than TCP/IP. I'm sure it would still work fine for many purposes, that doesn't change it being outdated. As I mentioned my father likes the way ink flows better from a classic fountain pen, and it still writes. That doesn't mean it isn't outdated. There is a whole movement of men moving back towards safety razors away from cartridge razors. That doesn't mean that safety razors aren't outdated.
Outdated has nothing to do with something still being able to fulfill some purpose.
______
What outdated does say is that there are substantial legacy costs over the long haul. As more applications move away from XP the costs of data translation and support go up. As others have mentioned the usage has to be vastly restricted for safety. Given that cheap computers are capable of doing what XP is able to do in most situations asserting it is outdated is asserting that the cost of remaining is likely substantially higher than the cost of remaining, even if the immediate costs are lower.
Of course a DNS server can possibly run fine on XP. DNS ran fine on Windows NT 3.51. So what?
OK well for OSes and most software they are sequentially number.
Outdated = A system for which there is or has been substantial migration from the user base to a higher numbered version.
So XP gets "outdated" once Vista comes out.
Well subscription is part of the whole cloud computing movement. Microsoft has been wanting to move towards subscription since around 2001. So they are thrilled that their customer base is now getting comfortable with a subscription based model.
Well no I'm not agreeing with your point. I think Apple has a long track record of providing superior products. The manufacturing quality of their laptops is exceptional. It isn't about the logo it is about what they do. Moreover I think the operating system is for most of their users providing a vastly better experience.
In other words people buy Apple because they make better stuff. "For the logo" implies that this is just about fashion.