|
If they added template to C I'd consider switching. But until then, it's C++ for me. I've been seduced by the power of the dark side.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Dangit, now I don't feel Turing Complete. I had to look up DFA vs NFA and still don't know what they mean. How have I been programming over 20 years and have no idea what they are. Please don't tell my boss!
Hogan
|
|
|
|
|
I actually wrote an article recently to help people understand them
FSM Explorer: Learn Regex Engines and Finite Automata[^]
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
What you describe is why I never bothered with JavaScript in years past. C#, as with many other languages, is an object-oriented, general purpose, fully developed language. JavaScript was created as a quick fix, created in 1995 and called Mocha originally, to a browser problem back in the early days of browsers. Once it took a foothold with a lot of web developers early on, the resistance to change (or significant improvement) has been unbreakable, resulting in gobs and gobs of JavaScript (and all the hacks built around it) in a lot of web pages.
If you want to build web apps, try using open-source WebAssembly (Blazor in Microsoft's environment). Instead of JavaScript, you can use C#. When compiled, it is compiled to WebAssembly (efficiently so, so only compiled code that is necessary is sent to browser) and executed in the browser's WebAssembly engine (not the JavaScript engine). Other languages outside Microsoft also support WebAssembly, but the IDEs are not quite as robust - yet. And most of the companies that provide third-party UI components for other languages (including JavaScript) provide the same ones for WebAssembly. Just don't fall for the dying throes of JavaScript worshippers when they try to get you to include JavaScript in your WebAssembly web front end. The JavaScript Interop is slow, and JavaScript in a WebAssembly app is a waste of time.
JavaScript and TypeScript (which is just a JavaScript generator) will be around a long time simply because it has been so widely used in the past (when there was not a viable alternative). There are still lots of COBOL, FORTRAN, and VB6 programs around today, just being maintained because the business side of whomever owns the code does not want to pay the conversion costs to a modern language.
|
|
|
|
|
I'm not looking to develop web pages.
I just was looking to teach myself typescript since JS is being used outside of the browser now.
I was not pleased with what I found.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Quote: I'm not looking to develop web pages.
I see. I misinterpreted what you meant overall. My fault.
Quote: I just was looking to teach myself typescript since JS is being used outside of the browser now
I would be curious to better understand why you would want to use a slow scripting language on the server when there are a number of better, compiled, languages available. I do not doubt you have a good reason, but in my experience, those using JavaScript on the server is usually because they are front end developers tasked with writing something for the backend, and JavaScript is what they are proficient in. I realize that may not be the only reason, but I would find it interesting to better understand why you are trying to increase proficiency at writing server code in JavaScript.
Thanks
|
|
|
|
|
I already know C#. I already know C++. I already know C. I have no intention of learning Java.
I learned Typescript for the same reason I'll probably end up learning Python even though I hate it.
Because it's used everywhere.
Node.js IS the backend these days. For at least half the major paying projects I've seen.
Like it or not, it's what's for dinner, and the less I know about that stuff, the further behind I get from where the rest of the world is.
Even if Typescript gets retired right now it's relevant. Extremely relevant, because people are producing code in it.
I don't have to like it to want to understand what the hell is going on with the state of the world in development these days.
I intend to age out gracefully when I do, not get pushed out because I don't understand the way programming is done anymore.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Quote: Node.js IS the backend these days. For at least half the major paying projects I've seen.
I have yet to see node.js used to any significance on the projects I have worked on, but my projects tend to be larger projects with a web front end and an API-based backend, or just a service-only API-based backend project, some on-premise, and lately, mostly Azure-hosted or Azure-native. Some of the older projects being updated have a little node.js in them, but it goes away in the updated version. Of course, since I loathe JavaScript, I would tend to gravitate to projects not requiring it, which makes my experience more subjective than objective.
Yet, statistically, node.js shows high on the server app language utilization, but these lists I see are not differentiated between overall app size and complexity.
Now that .NET 6.0+ (current is .NET 8) is out, stable, full-featured, and can run compiled on multiple OSs, it is a safe candidate for server apps and cloud apps that was not true just a year or so ago.
|
|
|
|
|
I already know .NET
I don't need to expend effort learning it. I was on the Visual Studio development team at Microsoft back when they rolled out C#. I've used it ever since.
I'm covering my bases, making sure I have a broad understanding of relevant technologies used in software these days.
However you feel about it, node.js is part of that milieu today. Your opinions or mine about how solid it is are not relevant to the fact that it is being used.
That can be bitter pill to swallow, but remaining relevant and not holy rolling yourself into a corner sort of requires it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Quote: I'm covering my bases, making sure I have a broad understanding of relevant technologies used in software these days
That is as good of a reason as any and makes good sense. I haven't had to learn JavaScript (to the depth of using it like you do when needed). So far, I have found plenty of work where C# (server app development, cloud development, web development with Blazor) is required, combined with experience in Azure native development. Converting JavaScript to C# (coding and architecture) is about as far as I have gone.
If getting and keeping a job required me to learn JavaScript and using node.js, then I would do so. I have been fortunate so far. I know what the relevant technologies are, but I have been fortunate to be able to pick and choose which ones I work in. I applaud your flexibility with the projects you choose.
|
|
|
|
|
I probably won't end up taking a job doing web development as a primary thing, but I could see being drafted to develop a companion app to some embedded widget using Flutter or something.
This not only keeps me in the loop, but it keeps me from getting rusty in general.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
You used JavaScript, a crappy language if there ever was one, and you are surprised at its limitations...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
I'm not surprised, more disappointed that it hasn't evolved, even as the industry is putting greater and greater demands on it.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
From what I understand, the international standards community has not even had the language cleaned of its "dead code", making it more bloated than it has to be...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Steve Naidamast wrote: has not even had the language cleaned of its "dead code
That should not surprise anyone. Removing a feature from a language is always problematic.
|
|
|
|
|
Quote: even as the industry is putting greater and greater demands on it
I would think the industry as a whole is not putting greater demands on JavaScript - just the community of developers who are dedicated to JavaScript and fight tooth and nail to keep from switching to a better language.
I think the industry as a whole has recognized JavaScript's limitations (and labor costs to implement) and created the market that gave rise to WebAssembly on the front end and desktop, and higher level compiled languages for server apps.
|
|
|
|
|
As I recall, node.js is a google project, not a community project.
Maybe I'm wrong.
But nodejs is probably the biggest single offender here, in terms of technology.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Quote: As I recall, node.js is a google project, not a community project.
Wikipedia article on Node.js
"Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser."
Interestingly, Ryan Dahl, who created node.js, also created the TypeScript engine.
|
|
|
|
|
I realize it's open source as many google projects are, but I think google funds it and google staffers are primary contributors.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Digging further, it looks like I could be mistaken about Google's involvement.
It looks like it gets a significant amount of it's support from the Linux Foundation, which also supports some other projects like zephyrproject that i use.
OpenJS Foundation - Wikipedia[^]
I'd say this counts as industry rather than community in any case, as LF is a major influencer in the direction of a lot of software technology these days.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Steve Naidamast wrote: a crappy language if there ever was one
You need to get out more?
There are a vast number of languages. Many of them very annoying.
The 'standard' for SQL comes to mind. SQL, as per the standard, is not even Turing complete. But actual implementations are.
The successful ones always have stuff bolted on. That is the nature of progress.
But consider one of the odd ball ones that I was reminded of recently is 'Erlang'. Doesn't even rate a percentage in Tiobe index. Yet I just found out that someone decided to build another language (Elixir) on top of that one. And someone decided to build an entire business around the usage of that (which is why I even heard of it.)
|
|
|
|
|
I have done a ton of JavaScript in my very long career...
I never liked it and never will...
JavaScript was never designed for what it is being used for now. And the only reason people use it is because it is free and is part of the inherent infrastructure of web applications.
This still doesn't mean that it is good language due to its popularity.
And languages that continually have things "bolted" on them become bloated and sometimes even unusable. This pushes developers to find cleaner languages...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Steve Naidamast wrote: This still doesn't mean that it is good language due to its popularity.
So what is the alternative that is good?
Steve Naidamast wrote: And languages that continually have things "bolted" on them become bloated and sometimes even unusable.
Unusable? I haven't seen that.
Steve Naidamast wrote: This pushes developers to find cleaner languages
Never seen anyone claim that.
Certainly seen people choose tech stacks because they liked it.
Certainly seen people use another language just because they wanted to.
Certainly seen people use another tech because they could not figure out how to use the existing tech.
Seen a tech stack used because the owners son recommended switching.
I have only seen one objective decision made about a tech stack and that was a business, not technical, reason. That was because the company that owned the tech stack gave the target company (as a startup) quite a bit of money.
|
|
|
|
|
Why do you think C# has become so popular when compared to Java?
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Because Microsoft pushed it?
Because the addons have made it more useful in a general sense?
Because Microsoft in various ways provides money to companies that use its products? (I have seen this myself.)
|
|
|
|