A little more development perspective.
A reasonably boring time for gadgets recently and thus a boring time for tech news. So my blog has actually been largely about programming of late! Well, the two prior posts at least. But going for 3 in a row? Surely I've gone insane!
Anyway. Since I've been doing some work on my side projects more of late I naturally find myself having more and more to talk about there. I don't like to talk about work code as I can't/don't really want to go into specifics. I delivered the first major update to my brother's software enabling them to do quoting and appointment scheduling within the app. I recently did a UWP app for my wife and I've been dabbling in DB conversion and pondering the cost of hosting some of this in Azure.
At the same time, my day job is as a developer as well. There I've been doing mostly JavaScript development (and some training related stuff). So, kind of a few different programming worlds, each with their own challenges and solutions.
Starting with JavaScript. I'm still no fan of it for applications development. I come off as unfairly biased against JavaScript. But I really have no serious issues with it in general. My issues are all contextual. And, change the context around and I'm sure I would hate .Net programming as well. JavaScript, as a programming language, within the context of a few lines of code is not really all that different from C# or Java.
I'm an applications developer however, and I'm working with relational databases and with very large SPA's. Please don't be surprised that I don't care for JavaScript within that context. It doesn't give me any benefit. A loosely typed DOM based language throws out a lot of what makes traditional application development quicker and gives advantages you can't truly use (except in the UI) because the server is still a strongly typed OO based system.
UWP is next. Again, love it. Delivers on WORA (write once run anywhere) in most convincing fashion I've seen (though limited to just MS ecosystem). It truly "just works". Not all good though. No web hosting or traditional database access (including SQL). No true services apps. In other words, a lot of things still missing that require Win32 apps (or Mac or Linux). For me, this has been, and remains a primary reason for my not doing any wholesale conversion of apps. App store is also still far too iOS/Android-esque. We can side-load apps now, which is good. But no good means of discovering/deploying such apps. I know that is probably all according to plan. But it is a thorn in the side of LoB developers. But, those things and others are also problems for their competitors.
Azure has been on my mind a lot lately. But I don't think I'll pull the trigger on it. My wife and brother don't need the burden of requiring an internet connection to work. It would give them benefits. If I just add OData services to both I could provide clients for multiple platforms (which I could still do with a local server). It makes deploying upgrades (to the server) much easier. Managing backups could also be done by me (and the servers themselves have some promises around data resiliency). But, ultimately, for me, and for them, local instances just make more sense. I don't have a good use for Azure. Maybe if the web becomes more ubiquitous (sounds strange to claim it isn't) I'll be able to dabble more. Right now, telling my wife or brother that they need better internet connections or that there is nothing I can do because the Azure instance is down aren't things I want to have to tell them.
C# is still my favorite language by a wide margin. Where else could I have accomplished all I have? My wife has a WPF app, an OData Service and a UWP app all in C#. Not a lot of frameworks/languages would have allowed me to accomplish all of those things (or reasonable equivalents) in a single language. And these aren't half-baked things. These are apps that run businesses day in and day out. Both deal in thousands of orders per year and manage everything from invoicing to service management to scheduling.
Maybe I've just been around the C# block too long. Maybe all of these things are accomplishable in a similar fashion elsewhere. I'm not done learning new programming languages. So, there could come a day when I have a new favorite.
But, I think I'm done. Just wanted to dump some thoughts out. And I've done that.
Anyway. Since I've been doing some work on my side projects more of late I naturally find myself having more and more to talk about there. I don't like to talk about work code as I can't/don't really want to go into specifics. I delivered the first major update to my brother's software enabling them to do quoting and appointment scheduling within the app. I recently did a UWP app for my wife and I've been dabbling in DB conversion and pondering the cost of hosting some of this in Azure.
At the same time, my day job is as a developer as well. There I've been doing mostly JavaScript development (and some training related stuff). So, kind of a few different programming worlds, each with their own challenges and solutions.
Starting with JavaScript. I'm still no fan of it for applications development. I come off as unfairly biased against JavaScript. But I really have no serious issues with it in general. My issues are all contextual. And, change the context around and I'm sure I would hate .Net programming as well. JavaScript, as a programming language, within the context of a few lines of code is not really all that different from C# or Java.
I'm an applications developer however, and I'm working with relational databases and with very large SPA's. Please don't be surprised that I don't care for JavaScript within that context. It doesn't give me any benefit. A loosely typed DOM based language throws out a lot of what makes traditional application development quicker and gives advantages you can't truly use (except in the UI) because the server is still a strongly typed OO based system.
UWP is next. Again, love it. Delivers on WORA (write once run anywhere) in most convincing fashion I've seen (though limited to just MS ecosystem). It truly "just works". Not all good though. No web hosting or traditional database access (including SQL). No true services apps. In other words, a lot of things still missing that require Win32 apps (or Mac or Linux). For me, this has been, and remains a primary reason for my not doing any wholesale conversion of apps. App store is also still far too iOS/Android-esque. We can side-load apps now, which is good. But no good means of discovering/deploying such apps. I know that is probably all according to plan. But it is a thorn in the side of LoB developers. But, those things and others are also problems for their competitors.
Azure has been on my mind a lot lately. But I don't think I'll pull the trigger on it. My wife and brother don't need the burden of requiring an internet connection to work. It would give them benefits. If I just add OData services to both I could provide clients for multiple platforms (which I could still do with a local server). It makes deploying upgrades (to the server) much easier. Managing backups could also be done by me (and the servers themselves have some promises around data resiliency). But, ultimately, for me, and for them, local instances just make more sense. I don't have a good use for Azure. Maybe if the web becomes more ubiquitous (sounds strange to claim it isn't) I'll be able to dabble more. Right now, telling my wife or brother that they need better internet connections or that there is nothing I can do because the Azure instance is down aren't things I want to have to tell them.
C# is still my favorite language by a wide margin. Where else could I have accomplished all I have? My wife has a WPF app, an OData Service and a UWP app all in C#. Not a lot of frameworks/languages would have allowed me to accomplish all of those things (or reasonable equivalents) in a single language. And these aren't half-baked things. These are apps that run businesses day in and day out. Both deal in thousands of orders per year and manage everything from invoicing to service management to scheduling.
Maybe I've just been around the C# block too long. Maybe all of these things are accomplishable in a similar fashion elsewhere. I'm not done learning new programming languages. So, there could come a day when I have a new favorite.
But, I think I'm done. Just wanted to dump some thoughts out. And I've done that.
Comments
Post a Comment