Well, good then. Don't buy Apple tablet, buy what ever you think best covers your needs. We were talking about user experience here, and appeared you had a hard time understanding the concept. You apparently still don't but what's it to me really.
Well, it does not matter if you are Microsoft. They stopped caring about customers, since they became a monopoly. They also stopped innovating, since they didn't have to. All they had to do is release something, and shove it down the throats of their "users". And the users had to pay for the privilege anyway, since they mostly did not have a choice.
But as it turns out being a monopoly for too long is not a good thing either. Microsoft now finds itself unable to compete in mobile space, where they don't have a monopoly and where there is plenty of choice. They also allowed the Internet to completely pass them by, since they tried so hard to protect their desktop cache cows (Windows, Office). So, for companies doing business on the Internet/mobile, Microsoft doesn't even exist. No one is afraid of Microsoft in those markets. This is what is often meant when people say "Microsoft is dead" or "irrelevant".
So basically, you are a tinkerer and that market is well covered. You buy yourself parts, put together a computer. Install OS of your choice a bunch of dev tools and tinker. Describes Linux PC perfectly.
Apple does not obviously cater to that market. They are like Disney, they sell magic now more than ever before. They pride themselves on user experience, from the way they package their products to ship (their products are one of the nicest and most enjoyable to unpack, but not so much to pack back:D.), to the initial user experience from turning on the device to actually using it every day. They try to make it not annoying, they try to streamline the UI, help you get to your stuff and get on with what you want to do. And your first experience is not going to be to remove bundled crap, re-install OS, or to spend your valuable time cleaning up the OS from adware and/or viruses ever.
Also, a lot of what they sell are not general purpose computing devices. iPad certainly is not. If you need general purpose computing device you generally want something with OS X installed on it from Apple. And for people that want something as small as iPad, but with keyboard and general purpose OS, there is 11'' MacBook Air.
But I think the point here was that other manufacturers try to compete with Apple on specs, with the false belief that if you match Apple, spec by spec (equally or faster CPU, equal amount of RAM, equally thin etc) you will have a winner. But nothing could be further from the truth. Because those are just some of the elements necessary for complete user experience. Great sexy hardware is one, but polished OS, streamlined apps etc all come into play. It's the entire eco system. If iPad 2 came pre-installed with Windows Phone 7, or Windows 7 it would never match the user experience it now has.
Yes, you can set any number you like (well, you will get a text message to your phone to confirm you own the number, and you have to reply from your phone). From then on when you call, others see that you are calling them from that number and not from skype (otherwise your skype name shows).
You can also purchase online skype number in any state/city in the USA (doesn't have to be local) or even abroad if you have relatives/business there, so people call call a local number with local calling rates to talk to you.
Of course, skype to skype calls are always free (including video). Really, skype on my iPhone 4 is a killer app, and I probably would not own iPhone if it wasn't available on it, but were available on some other phone.
I have Skype unlimited world plan. It costs me $120 a year, and I can talk to my family over in Europe any time I feel like for hours. The percentage of time I use iPhone's built in phone app are 1% vs Skype 99% of the time.
Skype also works through 3G network (for both voice or video calling) and I have 6GB data plan. So really, phone application on a smart phone with good data plan is irrelevant. The call quality over 3G connection is actually better than the cellular call from same location all the time.
By the way, for $20 a year you can get unlimited North America Skype plan (USA, Mexico and Canada) and you can talk all you want on your smart phone, desktop or yes even iPad:D.
I"m a developer too and I don't think there is a better IDE than UNIX shell and associated tool chain. Of course it requires you to actually learn to read and write instead of clicking on pictures to program (and forget about XCode, it's a complete crap). There are really good tools for OS X like dtrace, disassemblers, assemblers, gcc, gdb etc. Anything you may imagine doing, there is a tool for it out of the box so to speak. Yes, these tools are just not packaged into MDI interface with dumb editor, but that doesn't mean they don't exist.
Would it not make more sense for Apple to buy AMD? They are already in CPU business and custom hardware, they ship their Macs with AMD video cards, and they are not particularly happy with Intel's video on CPU and controllers or their ultra low voltage offerings for Airs.
That's actually not true. Redo does not purge your edits. VIM's undo is a tree and simply a new branch in the undo tree is created. Look at:h undo-branches
to see how you can get to another undo branch and how to see them all.
So, add "set compatible" to your.vimrc and voila you have your vi behavior including undo that you like. I on the other hand prefer VIM's undo tree but then again, I'm a developer not an admin:D.
I have over million files and even though I do put them into folder hierarchies, I tend not to browse for files but simply use Spotlight to quickly get to them. Spotlight is amazingly usable, fast and always there (and it's available from the CLI as well). Queries are instantly updated as you type, can be saved as dynamic folders (views that update as more files match criteria) etc.
So for example, interested in all pdf books that mention python in file name? Type kind:pdf filename:pyton
Interested in all pictures you took at aperture f4 and where you used flash? Type kind:image fnumber:4 flash:1
And of course you can always put additional metadata on your files to find interesting binary files.
That was exactly my point. You don't have to do any of those things. If you have a large code base with its idiosyncratic setup, then you may need to do some work for Eclipse to start making sense of it (but not much).
If you organized your project like it is recommended for java projects (dir structure follows package structure) then you really don't have to do much at all, except perhaps tell Eclipse where the built code and jars go.
And I have to seriously question the intelligence of anyone who could not "set up" an IDE that basically works out of the box. You point it to your source, import library dependencies (or better yet have make/ant/BASH script generate the Eclipse project files, they are just XML you know) and off you go. For Java development, it's really good IDE.
Install VI plugin if you are so inclined and you are doubly better off:D. Netbeans on the other hand has jVi (which is complete VIM port to java and works amazingly well). This is the only compelling reason to use Netbeans over Eclipse.
VIM user here. I can't see myself or anyone that actually works with text for hours not using physical keyboard. Editing text is a primary activity that I do, and nothing is faster than VIM with physical keyboard, short of something reading your mind and doing it for you (VIM sometimes feels that way anyway).
I can see touch keyboard useful for one off tasks here and there (like writing a text message on your phone or typing a short message on a web page), but that can never be replacement for actual keyboard when real work has to be done.
Another problem with current crop of touch keyboards is that you can't "touch type". You can't rest your fingers on home row, they all more or less start typing letters when you do that. Physical keyboard with mechanical feedback obviously does not have that problem.
I hate when apps run auto update daemons. This precisely the reason why I don't use any Google desktop software on my computers.
Proper thing to do in this case is simply disallow users to log in with a message they need to upgrade their client if they want to continue to use the app. Simple thing to do, rather than each app running a daemon. Soon enough there will be hundred update daemons on each user's computer, eating resources, connecting online all the time and bogging down the user experience. Thanks but no thanks. I refuse to use any of those.
My high school taught me Fortran, Pascal, C and some assembler, but I would still not call it computer science. Computer science is applied math, things like lambda calculus, Turning machines, formal definition of computation, computability, grammars, language theory, algorithms, data structures etc.
They don't touch these in high schools and sometimes not even all of these topics get covered in a typical CS degree program.
I disagree. If the degree does not change who you are, you have not achieved much at all. I was changed profoundly by studying pure math and learning and reading everything else I could get my hands on (not just math, but physics, cosmology, philosophy, medicine, biology, sociology, economy etc). By the time I was done with my undergrad degree, I would profoundly a new person, more self actualized and aware, looking at the world through new eyes.
Postgraduate degree had far lesser effect on me because it was too specialized.
Building a web site is not what is normally meant by "server side" programming. It's building the server part of an application that may have a "thin" web UI client, thick GUI desktop client etc. It usually runs inside an application server like JBoss/Weblogic and works with one or two relational databases.
Or it could be something massively parallel using mapreduce, big table etc with some kind of UI around it (usually thin).
Currently, Java fits the bill really well. I don't know about C#/.NET since I don't live in MS world (I just can't stand the average quality of MS developers). But if you exclude Java/.NET there really isn't any clear contender right now to replace them (of course you can do all this in C++ but would you really? You might as well program it in assembler:D).
I think this is more in line with what the OP is really asking. I don't think Python/Ruby are the languages that I would write application servers in, and unfortunately there doesn't seem to be anything new on the horizon.
Yeah, OK. I dropped any interest in Microsoft in 2000, and don't plan on ever looking back. If anything Microsoft is getting more and more irrelevant by the day on the desktop (which itself is becoming more and more irrelevant), and actually "died" sometime back in 2006 when new Web start ups stopped worrying about Microsoft killing/buying them. If you are a web developer, Microsoft pretty much does not exist for all intents and purposes, unless you choose to bind yourself to them because you can't imagine anything else better.
I know C, C++, Perl, Python, Ruby, LISP, BASH, awk, FORTRAN (don't ask, math departments like their FORTRAN) but none of these can take the place of Java's speed comparable to C++ (3 times slower), portability including GUI (compile once and run anywhere), availability of cross platform mature tools (even though I love my VIM), availability of mature libraries and frameworks etc.
Really, if JVM went away currently there is nothing that can replace it. C#/.NET is the complementary counterpart of Java/JVM but it's not as wide spread (I deploy my software on Solaris, AIX, HPUX, Linux, Windows, AS/400 and OS X).
Basically, the original news about Oracle splitting the JVM to open/free but crippled and premium/fast commercial one were wrong and based on misinterpretation of a tweet.
Apple just today announced they are contributing their java/jvm implementation to the Open JDK project, so there will be JDK for OS X in the future as well.
So, everyone calm down and enjoy JVM + your favourite language (Scala, Clojure or what ever else you like).
Yeah, Objective C is more tied to single corporation than the other two. Apple totally and completely own the language, its runtime, libraries, and solely set the future direction for the language. Yes, they happen to use GNU toolchain, and contribute the objective C implementation to it, or rather they have their own private branch of GNU toolchain where they implement objective C language, but they are slowly moving towards clang/LLVM.
This is why you will not see the language used by anyone else other than Apple for anything interesting/important.
Well, good then. Don't buy Apple tablet, buy what ever you think best covers your needs. We were talking about user experience here, and appeared you had a hard time understanding the concept. You apparently still don't but what's it to me really.
Well, it does not matter if you are Microsoft. They stopped caring about customers, since they became a monopoly. They also stopped innovating, since they didn't have to. All they had to do is release something, and shove it down the throats of their "users". And the users had to pay for the privilege anyway, since they mostly did not have a choice.
But as it turns out being a monopoly for too long is not a good thing either. Microsoft now finds itself unable to compete in mobile space, where they don't have a monopoly and where there is plenty of choice. They also allowed the Internet to completely pass them by, since they tried so hard to protect their desktop cache cows (Windows, Office). So, for companies doing business on the Internet/mobile, Microsoft doesn't even exist. No one is afraid of Microsoft in those markets. This is what is often meant when people say "Microsoft is dead" or "irrelevant".
So basically, you are a tinkerer and that market is well covered. You buy yourself parts, put together a computer. Install OS of your choice a bunch of dev tools and tinker. Describes Linux PC perfectly.
:D.), to the initial user experience from turning on the device to actually using it every day. They try to make it not annoying, they try to streamline the UI, help you get to your stuff and get on with what you want to do. And your first experience is not going to be to remove bundled crap, re-install OS, or to spend your valuable time cleaning up the OS from adware and/or viruses ever.
Apple does not obviously cater to that market. They are like Disney, they sell magic now more than ever before. They pride themselves on user experience, from the way they package their products to ship (their products are one of the nicest and most enjoyable to unpack, but not so much to pack back
Also, a lot of what they sell are not general purpose computing devices. iPad certainly is not. If you need general purpose computing device you generally want something with OS X installed on it from Apple. And for people that want something as small as iPad, but with keyboard and general purpose OS, there is 11'' MacBook Air.
But I think the point here was that other manufacturers try to compete with Apple on specs, with the false belief that if you match Apple, spec by spec (equally or faster CPU, equal amount of RAM, equally thin etc) you will have a winner. But nothing could be further from the truth. Because those are just some of the elements necessary for complete user experience. Great sexy hardware is one, but polished OS, streamlined apps etc all come into play. It's the entire eco system. If iPad 2 came pre-installed with Windows Phone 7, or Windows 7 it would never match the user experience it now has.
Yes, you can set any number you like (well, you will get a text message to your phone to confirm you own the number, and you have to reply from your phone). From then on when you call, others see that you are calling them from that number and not from skype (otherwise your skype name shows).
You can also purchase online skype number in any state/city in the USA (doesn't have to be local) or even abroad if you have relatives/business there, so people call call a local number with local calling rates to talk to you.
Of course, skype to skype calls are always free (including video). Really, skype on my iPhone 4 is a killer app, and I probably would not own iPhone if it wasn't available on it, but were available on some other phone.
I have Skype unlimited world plan. It costs me $120 a year, and I can talk to my family over in Europe any time I feel like for hours. The percentage of time I use iPhone's built in phone app are 1% vs Skype 99% of the time.
:D.
Skype also works through 3G network (for both voice or video calling) and I have 6GB data plan. So really, phone application on a smart phone with good data plan is irrelevant. The call quality over 3G connection is actually better than the cellular call from same location all the time.
By the way, for $20 a year you can get unlimited North America Skype plan (USA, Mexico and Canada) and you can talk all you want on your smart phone, desktop or yes even iPad
I"m a developer too and I don't think there is a better IDE than UNIX shell and associated tool chain. Of course it requires you to actually learn to read and write instead of clicking on pictures to program (and forget about XCode, it's a complete crap). There are really good tools for OS X like dtrace, disassemblers, assemblers, gcc, gdb etc. Anything you may imagine doing, there is a tool for it out of the box so to speak. Yes, these tools are just not packaged into MDI interface with dumb editor, but that doesn't mean they don't exist.
Would it not make more sense for Apple to buy AMD? They are already in CPU business and custom hardware, they ship their Macs with AMD video cards, and they are not particularly happy with Intel's video on CPU and controllers or their ultra low voltage offerings for Airs.
That's actually not true. Redo does not purge your edits. VIM's undo is a tree and simply a new branch in the undo tree is created. Look at :h undo-branches
to see how you can get to another undo branch and how to see them all.
So, add "set compatible" to your .vimrc and voila you have your vi behavior including undo that you like. I on the other hand prefer VIM's undo tree but then again, I'm a developer not an admin :D.
I have over million files and even though I do put them into folder hierarchies, I tend not to browse for files but simply use Spotlight to quickly get to them. Spotlight is amazingly usable, fast and always there (and it's available from the CLI as well). Queries are instantly updated as you type, can be saved as dynamic folders (views that update as more files match criteria) etc.
So for example, interested in all pdf books that mention python in file name? Type kind:pdf filename:pyton
Interested in all pictures you took at aperture f4 and where you used flash? Type kind:image fnumber:4 flash:1
And of course you can always put additional metadata on your files to find interesting binary files.
That was exactly my point. You don't have to do any of those things. If you have a large code base with its idiosyncratic setup, then you may need to do some work for Eclipse to start making sense of it (but not much).
If you organized your project like it is recommended for java projects (dir structure follows package structure) then you really don't have to do much at all, except perhaps tell Eclipse where the built code and jars go.
And I have to seriously question the intelligence of anyone who could not "set up" an IDE that basically works out of the box. You point it to your source, import library dependencies (or better yet have make/ant/BASH script generate the Eclipse project files, they are just XML you know) and off you go. For Java development, it's really good IDE.
:D. Netbeans on the other hand has jVi (which is complete VIM port to java and works amazingly well). This is the only compelling reason to use Netbeans over Eclipse.
Install VI plugin if you are so inclined and you are doubly better off
VIM user here. I can't see myself or anyone that actually works with text for hours not using physical keyboard. Editing text is a primary activity that I do, and nothing is faster than VIM with physical keyboard, short of something reading your mind and doing it for you (VIM sometimes feels that way anyway).
I can see touch keyboard useful for one off tasks here and there (like writing a text message on your phone or typing a short message on a web page), but that can never be replacement for actual keyboard when real work has to be done.
Another problem with current crop of touch keyboards is that you can't "touch type". You can't rest your fingers on home row, they all more or less start typing letters when you do that. Physical keyboard with mechanical feedback obviously does not have that problem.
I hate when apps run auto update daemons. This precisely the reason why I don't use any Google desktop software on my computers.
Proper thing to do in this case is simply disallow users to log in with a message they need to upgrade their client if they want to continue to use the app. Simple thing to do, rather than each app running a daemon. Soon enough there will be hundred update daemons on each user's computer, eating resources, connecting online all the time and bogging down the user experience. Thanks but no thanks. I refuse to use any of those.
My high school taught me Fortran, Pascal, C and some assembler, but I would still not call it computer science. Computer science is applied math, things like lambda calculus, Turning machines, formal definition of computation, computability, grammars, language theory, algorithms, data structures etc.
They don't touch these in high schools and sometimes not even all of these topics get covered in a typical CS degree program.
I disagree. If the degree does not change who you are, you have not achieved much at all. I was changed profoundly by studying pure math and learning and reading everything else I could get my hands on (not just math, but physics, cosmology, philosophy, medicine, biology, sociology, economy etc). By the time I was done with my undergrad degree, I would profoundly a new person, more self actualized and aware, looking at the world through new eyes.
Postgraduate degree had far lesser effect on me because it was too specialized.
Handheld computers are personal computers as well in the sense they are personal and computers :D.
Now we just need to figure out how to turn people into mice and we have elixir of youth. Unless the young mice rebel first, and take over the world.
Watch out c1ay. You just publicly admitted that you have something to hide :D.
Building a web site is not what is normally meant by "server side" programming. It's building the server part of an application that may have a "thin" web UI client, thick GUI desktop client etc. It usually runs inside an application server like JBoss/Weblogic and works with one or two relational databases.
:D).
Or it could be something massively parallel using mapreduce, big table etc with some kind of UI around it (usually thin).
Currently, Java fits the bill really well. I don't know about C#/.NET since I don't live in MS world (I just can't stand the average quality of MS developers). But if you exclude Java/.NET there really isn't any clear contender right now to replace them (of course you can do all this in C++ but would you really? You might as well program it in assembler
I think this is more in line with what the OP is really asking. I don't think Python/Ruby are the languages that I would write application servers in, and unfortunately there doesn't seem to be anything new on the horizon.
Yeah, OK. I dropped any interest in Microsoft in 2000, and don't plan on ever looking back. If anything Microsoft is getting more and more irrelevant by the day on the desktop (which itself is becoming more and more irrelevant), and actually "died" sometime back in 2006 when new Web start ups stopped worrying about Microsoft killing/buying them. If you are a web developer, Microsoft pretty much does not exist for all intents and purposes, unless you choose to bind yourself to them because you can't imagine anything else better.
I know C, C++, Perl, Python, Ruby, LISP, BASH, awk, FORTRAN (don't ask, math departments like their FORTRAN) but none of these can take the place of Java's speed comparable to C++ (3 times slower), portability including GUI (compile once and run anywhere), availability of cross platform mature tools (even though I love my VIM), availability of mature libraries and frameworks etc.
Really, if JVM went away currently there is nothing that can replace it. C#/.NET is the complementary counterpart of Java/JVM but it's not as wide spread (I deploy my software on Solaris, AIX, HPUX, Linux, Windows, AS/400 and OS X).
to Open JDK.
http://blogs.sun.com/theaquarium/entry/the_story_of_a_tweet
Basically, the original news about Oracle splitting the JVM to open/free but crippled and premium/fast commercial one were wrong and based on misinterpretation of a tweet.
Apple just today announced they are contributing their java/jvm implementation to the Open JDK project, so there will be JDK for OS X in the future as well.
So, everyone calm down and enjoy JVM + your favourite language (Scala, Clojure or what ever else you like).
Yeah, Objective C is more tied to single corporation than the other two. Apple totally and completely own the language, its runtime, libraries, and solely set the future direction for the language. Yes, they happen to use GNU toolchain, and contribute the objective C implementation to it, or rather they have their own private branch of GNU toolchain where they implement objective C language, but they are slowly moving towards clang/LLVM.
This is why you will not see the language used by anyone else other than Apple for anything interesting/important.
I thought Parrot was geared more towards optimizing performance of dynamic languages, and not so much statically typed languages like Java?