As good of a tool as VS is, I don't see how it fits with the Rpi. In my opinion, its simpler to use a text editor, because the board does not have the same complexity of .NET apps. The Rpi is programmed with Python, and their own library tat controls the I/O pins. Why add in the complexity of VS into the mix?
Plus, you can just use the IDLE. It features all the basic things you need for python development.
Your impression that the Raspberry Pi is exclusively programmed in Python and is only meant for tiny little toy projects is mistaken. It's a full-fledged computer running Linux, and will support software written using essentially any programming language.
If you take a look at the linked article, for example, you'll see that the author is programming it in C++.
I own a couple of these, and know what they are capable of. But I do see where I missed the point, and its not the one you are making. I forgot that there are people who love using VS and will want to use it for their projects. The article helps those people.
Ok, sysprogs is clearly an account created just to spam HN with this link, (guess they win, it made it to the front page) but really? This seems very out of sync with both the Raspberry Pi goals, and the world in general. How about 'vi hello.c; make hello; ./hello' ? Pretty simple yes? Woohoo my first RaspPi "app"! But this crappy toolchain? Really?
Ok so perhaps I'm too harsh here but I think the nice thing about the RasPi is that you get to actually talk to the machine and experience "real" programming. This seems to be a parody of everything that is wrong with development today.
Hey, what about all those guys that are used to "Plug-and-play" tools like Visual Studio? That don't want to rediscover the common problems and spend countless hours trying to figure out how to do something slightly less trivial than just Hello, World? What if somebody just wants to get things working fast and does not want to learn how to make the cursor move up in vim?
There are for sure a lot of guys used to simple tools like vim, but there are also plenty of people that believe that tools are just tools and the more intuitive the tools are the better it is.
And as for the development today, it's becoming more and more about the result and not about the process. About how fast you can get your application or game up and running. And hours spent on figuring out why something is not working when it should is becoming rather an avoidable annoyance than the experience of "real" programming.
> the more intuitive the tools are the better it is.
"Intuitive" is a pretty vague virtue, and I'm not sure that VS has it.
If we're talking about discoverability of a feature, I guess you could say a tool that exposes most of its options and features through a wide swath of icons and giant tree of menus leading to various dialog boxes of doom has something of an edge in that one can walk down all the paths until a desired option is found (or not found), and each point is something like a flag that says "Hey, feature here!" Then again, it's hard to tell how relevant or irrelevant it is to what your needs are, and I can similarly walk/search through documentation for a given text editor until I accomplish the same thing.
> What if somebody just wants to get things working fast and does not want to learn how to make the cursor move up in vim?
There are some pretty nice text editors out there that have keybindings considerably more intuitive than vim. Even gvim has two intuitive ways to move the cursor (arrow keys + mouse).
There's the question of which keybindings are most rewarding to the user who puts time in, too. The longer you're going to spend in a tool, the more important this is relative to how easily discoverable features are.
> it's becoming more and more about the result and not about the process.
Becoming?
> hours spent on figuring out why something is not working when it should is becoming rather an avoidable annoyance
Certainly not my experience with Visual Studio over the last year.
I guess, this is a lot about the taste and preference, but an IDE is much more than a text editor. Talking about debugging, there's an illustrated listing of top 10 Visual Studio debugging tricks here: http://visualgdb.com/debugging/
It would be interesting to see how could one do something as efficient with just a text editor.
What exactly is Visual Studio going to protect you from?! I'm struggling to see how coding the thing in C using Visual Studio is going to be substantially easier in any meaningful way than coding it in C using anything else. It's just going to cut out some of the Unix crap. And, well - what's the problem with that? Why does coding always have to be done via the Unix command line and terminal-based tools?
Perhaps everybody else's definition of "real" programming is just rather different from mine, but I personally see use of the command line rather than some GUI tool as a mostly-irrelevant side issue that has relatively little to do with making the computer do things by writing code.
While I'm of the opinion that tinkering away with a Raspberry Pi is inherently a great thing, developing for a minimalistic piece of nearly open source hardware running an open source OS using software as bloated and proprietary as Visual Studio really rubs me the wrong way.
In fact, that purely depends on your goals. If you're just tinkering around, the text editor or something simple like CodeBlocks or KDevelop is probably fine.
If you are doing a bigger project where productivity becomes a must and spending time on doing the same routine things over and over becomes annoying - an IDE as powerful as Visual Studio can be a really good investment...
That's probably because people are different. And so their tastes and habits are. That's why there are Windows, Linux and MacOS all co-existing in parallel. That's why there are iPhone, Android and Blackberry. That's why where are Mercedes, Toyota and Chrystler...
I guess, you just like the command-line tools more, as many other guys do. And lots of other people really enjoy GUI tools such as Visual Studio. And the goal of the article is to show those guys that they can now enjoy their favorite IDE while developing for Raspberry PI.
As someone who is fanatical about both Visual Studio and Raspberry Pi I think this is awesome. It likely won't be a big seller though.
People use the Rpi for hacking and tweaking, and VS is better suited for enterprise development work. You're basically using a space shuttle to drive to the grocery store. Many of the things that make VS great aren't really going to apply to the Rpi anyway.
Most of the "apps" that will built for the pi are going to be homebrewed stuff for education and I think you can build most of those with conventional Linux tools. But if you already have Visual Studio and your comfortable with it, investing $100 in this program would probably be worth it if you want to build a serious pi app.
Can you elaborate on what makes Visual Studio so great? I used it professionally for a year, but it would just grind on my productivity. I wonder if I'm missing something. Specifically, VS 2010 had a lot of strange bugs - mt.exe fails during the build (solution: build again), project dependencies don't always work (solution: pre-build subprojects manually), little refactoring support (whole tomato is slight improvement). The debugger is quite good though, minus the part where it points to the next instruction in the stack frame (which reflects the IP, but still).
Maybe this is just their C++ support? Is C# better?
You may be right that it won't be a "big seller", but Visual GDB seems to be targeting more than just Rappberry Pi development. From the product site [1]:
"Harness the power of the Visual Studio debugger when developing:
o Embedded firmware (ARM, MSP430, PowerPC and more)
Well, you could also say that gcc is a 10-megabyte shim for the GNU assembler and would prefer to code each and all your programs in assembly language.
However at some point you would probably get bored computing the stack offsets manually each time and would let the C compiler do it for you, while you think about more high-level problems.
Same with debugging. GDB itself is cool for small simple projects, but once your project becomes large enough, you would probably just enjoy clicking on a line to make a breakpoint and hovering your mouse over an expression to see itsvalue rather than typing the line numbers and variable names manually each time and keeping it the back of your mind where was the breakpoint #42...
And, BTW, if you're a student, it's only a half of the $99 for you...
Personally once I ditched VS/Eclipse for the command line counterparts (vim, tmux, gdb, etc) I haven't looked back. I find that once you learn the underlying tools well your productivity will actually increase vs using bloated GUIs that seem to change every software version.
I know an App as a small, simplified, specialized application, usually on a mobile device, that serves a single purpose.
The Raspberry PI is basically a full computer so you can build and run everything and whatnot on it.