I'm still in the free trial period for Aaptive. Overall good, but they don't show any diagrams or videos for the exercises making it somewhat difficult for a n00b like myself.
UWP is definitely overkill if you go through the trouble of writing all the MVVM bindings as I mentioned. But, for really quick things, I can type XAML faster than I can try to align gui elements with a mouse. Then you get the same code-behind file to do your heavy lifting. The WYSIWYG editor is far worse though, I pretty much would only use it for a preview and only touch the layout via the XAML.
I'm going to throw my vote in for the C#/UWP pairing. I am part of the prototype team where I work, and when I need to target Windows it's my weapon of choice. Sometimes I can't get access to something I need due to the sandboxing, so I'll drop back to WPF. I am familiar with forms, but I find that UWP/WPF's XAML is much easier once you get used to it. I would recommend against MVVM stuff if you're just prototyping or making small one-off apps, that is a time trap in those cases.
That being said, if you don't want to hit the more "Universal" part of the UWP and you just want to tie into shell commands/utilities, it's hard to beat Python with TKinter.
I'll also use Unity a lot (I was previously in games, and we do a lot of entertainment work). It's probably not what you like, but you'll be able to hit every non-embedded platform under the sun (including Windows and UWP, but also including Chrome, various TV's, &c). The UI system has improved a lot, and their (older) IMGUI implementation makes it super easy to wrap a UI around logic.
Finally, I'll add that (especially if I know that I'm building for a specific platform), it's hard to beat the native rendering APIs these days. They're all super easy (all being UWP/WPF, Android, iOS's UIKit, and macOS's AppKit), and will generally get out of your way. I've gone down the Xamarin route in the past, and it turned out to be overly difficult to build some simple apps (plus, I've had trouble deploying to Android in some instances).
I agree with you now. But I keep thinking back ~10 years when seeing a * (or ) was a moment for pause and speculation.
I think it comes down to the address of an int* is a thing, which again makes sense to someone familiar, but to a newcomer means you have a thing at an address that is an address of another thing.
I do have access to glass, but I'm not going to hack on it at the office and the price tag is just too steep for me to justify taking a pair home to hack on in my free time (especially with their lack of prescription support). That seems to be where they're falling flat, it's too early to base a business or startup after and it's too expensive to get the enthusiast/hacker support they seem to be expecting.
Also, I really wish they weren't so strict with their facial recognition ban. I'm useless in social situations because I'm terrible with faces (if I see someone out of the context I met them I will not recognize them). For someone like me, even if it was restricted to my own personal database and required approval of the person I was interacting with (NFC or BLE touch for instance), it would heavily level the social playing field.
I'm a game programmer, and I have an answer for my preference of Z being up:
I want positive values going into the screen (away from the viewer) but I also want a right handed coordinate system (mostly because physics become more intuitive - especially wrt torque).
X is almost always to the right, so this gives me Y and Z to work with. To satisfy both the positive values into the screen and right handedness I need either Z forward and Y down or Y forward and Z up. Since most of the time you draw a graph with an axis going up rather than down, that settles it.
It's entirely arbitrary in the end, a single matrix will fix any dispute you have amongst peers.
My ideal language is C but with C++ templates, better type safety (no implicit casting to void*), and with a smarter "include" system (ie: something that isn't just copy/paste one source file into another. Although it would be nice to be able to keep #include as well)
As a college student, I built a small form factor pc just so I could transport it as carry on when going home.
Even though it fit in the dimensions specified on the airline website, I not allowed to carry it on (they didn't even bother to measure it) and it didn't boot when it came out the other side (I found an "inspected by the TSA card inside the case and most of the components unplugged).
When travelling, I recommend taking something "normal" (I'm in robotics now, and they don't bat an eye at a bunch of tiny robots and tablet-like devices in my bag).
To correlate. I do much of my programming at home on two 23" monitors on a desktop, or at work on a 15" mbp and a 27" cinema display - and I absolutely love the excessive screen real-estate.
But sometimes I am visiting family, at an airport, &c and want to be somewhat productive. I won't write as much code as I would with my normal setup, but there is an allure to keeping a tiny laptop/ultrabook in my go-bag and writing some small bit of code whilst sitting at a coffee shop. I'm not normal though, I take great pride in having ssh'ed home from the top of a 14'er.
My absolute dream is to have a phone that can plug into a docking station and drive a full workstation setup. When it's time to leave I would love to just pick up this device, and have everything with me and operational (albeit in a limited capacity). Until the Ubuntu phone announcement, the Surface is the closest thing to my fantasy device (a major problem as well being that I'm a game developer - the HD4000 in the thing makes me cringe).
It has more ram than current generation consoles, otherwise it's relatively underpowered.
It is running android which can be a blessing and a curse. NDK development hasn't been that enjoyable in my experience, but a dearth of programmers are already familiar with the OS and Ouya's goal is to attract independent developers(all the major consoles are relatively difficult to break into as an indy developer unless you're fine with living on the indycade on the 360).
So pros: ram and low barrier of entry both for developers (open platform) and users (it costs $99)
Cons: slow
I used to be a big fan of SCons, and now I tend to use Rake for my build system. To me the most useful thing in a build system is to have a straightforward and easy to understand interface for setting it up, and I'm much more comfortable with Ruby and Python than I am with the odd (to me) lisp-derived syntax of make (fwiw: I typically use these with C/C++ projects, not Ruby/Python/&c)
I used to be like that, always spending every moment coding or learning about ways to improve coding (and I did learn and improve a lot). But I also had absolutely no social life and was terribly overweight/out of shape.
I still code in my free time (in fact, I spent much of today playing with Scala and LWJGL), but I make a conscious effort to head out and interact with the world (in as nerdy of a way as possible of course, I have a FuelBand which forces me to go out and be active to keep my streak up).
I love coding (both at work and for fun) and would still do it all day every day if I could, but I found my quality of life increased by leaps and bounds as I picked up the slack elsewhere (not just in fitness, but mentally as well. Especially walking around, hiking, exercise, &c helps clear my mind and refocus). Maybe you're not as totally lost as I was, but until technology advances enough for me to exist as a brain in a vat, I have actually found it very important to get away and engage tertiary faculties not directly related to the generation of sourcecode.
And I'm never too far away from my projects anyway. I tend to have a chromebook/tablet/phone with me running an ssh client and a tmux session always running on my raspberry pi, but typically forget about it entirely unless I have a sudden epiphany).
This past weekend I did something similar, but to learn about the new WinRT/Metro stuff in Windows 8. My github project is at: https://github.com/patm1987/PuxIrc
If I could find an easy way to ditch XCode and still do productive iOS development, I'd abandon it in a heartbeat. The one saving grace of it is that it supports a decent number of Emacs style text editing shortcuts (a side effect of OSX using Command rather than Control for normal shortcuts).
I am personally very fond of the Unicomp Customizer. It's relatively cheap for a buckling spring keyboard and very no-nonsense (it has just what you need, no more no less). I must say that, much like pencils, once I went mechanical I never wanted to go back. http://pckeyboards.stores.yahoo.net/customizer.html
Sure there is. Primarily the requirement to have a runtime installed followed secondarily by the fact that many of the useful features are encapsulated in Apple specific libraries (or NeXT Step, although GNUStep takes care of that on many platforms).
Every other complaint I have against the language just stems from my familiarity with C++ and love of static typing (or compiler hints and syntactic niceties useful for writing high performance code - namely games).
https://aaptiv.com/