Hey Gavin, I’m trying to validate a user uploaded audio from JavaScript in my azure function before sending it to my blob storage. How would you do the check to make sure it’s not malware or bad stuff. is it enough to check the file extension is .ogg audio and call it a day?
Hi David. Checking the extension certainly won't be good enough if you want to check the file for malware and other viruses. You'd need an employ the services of a third party component that specialises is virus detection. I haven't used this particular component before but this is the sort of thing I suspect you'll need - www.c-sharpcorner.com/article/clamav-antivirus-scan-on-file-upload-content-in-net-application/
Thanks so much for sharing that information. It does seem to very from location to location - my initial thoughts were that Java devs would get payed more - but stats from certain surveys have shown that C# devs get paid on average more than Java devs (not by much though).
what is the best way to get good at c# like understanding everything? can you send some resources because there's a lot of tutorials and courses to navigate through?
I recently wrote an online book that has very recently been published on the freeCodeCamp platform. The text content as well as the many video references may help you. Please check it out at this URL - www.freecodecamp.org/news/learn-csharp-book/ Microsoft Learn is of course a great place to learn C#. There are a lot of free courses on this channel and freeCodeCamp that may help you. :) Another recommendation is to complete this free certification (The Foundational C# with Microsoft Developer Certification) on the freeCodeCamp platform - which is provided through a calibration between Microsoft and freeCodeCamp - ua-cam.com/video/6GQAE7iLOhY/v-deo.html
hey man, should I learn c# first if my goal is becoming a dotnet web developer? I currently know Javascript, react, and html/css but zero knowledge of server-side and databases.
Hi! Yes I would recommend learning the C# syntax first. First learn the basic concepts of the C# language then progress to the more advanced concepts of the C# language. I would then recommend learning a web framework like Blazor. Since you are already familiar with React, you should be able to pick up the fundamentals of Blazor fairly easily. I would learn an ORM technology like EF Core, basic relational database design, SQL Server and T-SQL. I hope that helps - that is just a very simplistic road ma- - but you'll gain an understanding of all that you need to learn as you progress.
Unfortunately, I'm not too fond of some changes in Java. One is that Oracle Corporation left support of Java EE and Java FX to the community. I think that Oracle doesn't take care of Sun Microsystems' legacy appropriately. I see that the main market demand for Java is in the Financial and banking transactions sector. I like C# more while I appreciate the robustness and discipline of Java language. I first learned Java but after a while, I felt like I was in prison. I won't use it again unless someone pays me for it.
Thank you for sharing your personal experience with Java! I think your comment is valuable because you started with Java and have found that you prefer working with C#. :)
I said a while back that developing apps for 3D immersive realities is going to be huge - yes I think you might be right about C# and Unity! C# is certainly a much easier language to work with that for e.g. C++.
@defoer3049 - I'm not sure specifically about Apple - as you say it makes sense that a language like Swift could be used there but in general C# is a great language to use for 3D immersive reality software development. It is a very versatile language.
Since I use Linux exclusively, answer is easy it's Java all the way with Spring Boot for backend development. C# doesn't really run on Linux or MacOS even though there are poor ports of it, but Java runs well everywhere.
Cool - thanks for your feedback from a Java perspective. C# does run on MacOS and Linux - but I would love to test how well .NET and C# runs on various Linux distributions. :)
C# is great language of course, but let's be honest Java is dominante for backend platform. When you want to deploy app on the cloud C# is not so good and does not work well on multiplatform, but primary key of Java is run multi-platform
I would politely disagree with you. C# and .NEt work well as a multi-platform technology - especially since the release of .NET 5 (2020). I do agree that Java dominates as a backend platform at the moment. Thanks for your comment and point of view :)
@@GavinLon may be it is well brother but key target of Java is cpu-bound which can be done via parallel way and multi-threading that is really flexible and much faster to handle complex heavy processing rather then asunchronously, on the other hand c# supports async/away which is I/O-bound fechting request from db and file handling. Java faster underlying hardware to process heavy complex instructions then C#, but C# is much faster to fetch request handling files then Java. And last but not least to say Java better then C# or vise verca, it is just stupid conversation. Personally I prefer Java / Spring boot, but C# is real ROCK ))
I think the metrics generally do allude to an increase in favour of C# but it's not only the metrics that tell me that C# is gaining in popularity. It's also the remarkable enhancements that are being made each year to .NET that make .NET and C# an attractive technology. I also think that Java is not going anywhere and is also a great technology, but C# is certainly on the rise.
you're wrong, they are equally used, it depends on e.g. where you are located in the world. Many companies don't say what they use, so those are not known, also many beginners seek the net for language names. And because most ranking lists are based on searches, it gives a skewed reality (Tiobe shows this!). But also job sites are not telling the truth, since many are sponsored/payed for certain companies to go high ranked (and thus their stacks). Stack overflow is also full of troll voters, in their yearly list. I can e.g. vote for a language, but not using it.. thus manipulating the list in a false outcome. If many do that: the list becomes a mess and lacks reality.
Hi. Thanks for your comment. :) lol - I don't mind being wrong but what you have stated in your comment is the point of the video, to highlight that you shouldn't believe one or two sources of data as indicators of absolute truth and always try to include a wide range of data from multiple sources in your analysis. Context is of course also very important - i.e. for e.g. location - is Java more popular than C# in a specific location for e.g. around where you live. You may want to know which language is likely to provide greater remuneration - of course location in this context is a huge factor.
@@GavinLon Well, i must admit, i haven't seen the video till the end. So i might have jumped the conclusion a tad too fast. All i saw was the usual sources of information, and got triggered by it. (as i've seen so many of them, i concluded: "oooh no! not again... "
@@mr_don_key No problem :) It seems like we are in agreement on why it is always a good idea to look at a wide range of data from multiple sources before making relevant decisions.
Thank you for your comment. I don't think C# will replace Java. I think it's likely that C# will gain in popularity relative to Java. Java has proven to be very resilient, and is currently running on billions of devices around the world so it's definitely not going anywhere :)
Java is tied to a corporation (Sun Mictosystems and now Oracle) just like C# is. Java is not a standard. It is a widely used programming language, but that doesn't stop C# or other programming languages from rising and offering more than what you know with Java.
@lepingouindefeu According to Wikipedia, Project Valhalla "was announced in July 2014". So it's been 10 years now and still no release? If it takes them this long for what looks like a few tweaks to generics and value types, mostly, I'd say it's a dead project. Enhancing Java does not seem to be a high priority with Larry Ellison and Oracle. If it was, it wouldn't be "experimental", per Wikipedia again. It would get the funding and staff it needs, as C# always has at Microsoft. Java isn't going anywhere, there's too much of it out there already. But it does seem to be becoming the next COBOL thanks to Oracle allowing it to wither on the vine.
I've heard that tiobe index is not a good source.
Yes, I've also heard a lot of criticism :)
Hey Gavin, I’m trying to validate a user uploaded audio from JavaScript in my azure function before sending it to my blob storage. How would you do the check to make sure it’s not malware or bad stuff. is it enough to check the file extension is .ogg audio and call it a day?
Hi David. Checking the extension certainly won't be good enough if you want to check the file for malware and other viruses. You'd need an employ the services of a third party component that specialises is virus detection. I haven't used this particular component before but this is the sort of thing I suspect you'll need - www.c-sharpcorner.com/article/clamav-antivirus-scan-on-file-upload-content-in-net-application/
In my country (Czechia) Java devs earn significantly more than C# devs.
Thanks so much for sharing that information. It does seem to very from location to location - my initial thoughts were that Java devs would get payed more - but stats from certain surveys have shown that C# devs get paid on average more than Java devs (not by much though).
you should immigrate
what is the best way to get good at c# like understanding everything? can you send some resources because there's a lot of tutorials and courses to navigate through?
I recently wrote an online book that has very recently been published on the freeCodeCamp platform. The text content as well as the many video references may help you. Please check it out at this URL - www.freecodecamp.org/news/learn-csharp-book/
Microsoft Learn is of course a great place to learn C#. There are a lot of free courses on this channel and freeCodeCamp that may help you. :)
Another recommendation is to complete this free certification (The Foundational C# with Microsoft Developer Certification) on the freeCodeCamp platform - which is provided through a calibration between Microsoft and freeCodeCamp - ua-cam.com/video/6GQAE7iLOhY/v-deo.html
@@GavinLon this is great! Thank you for sharing it!
hey man, should I learn c# first if my goal is becoming a dotnet web developer? I currently know Javascript, react, and html/css but zero knowledge of server-side and databases.
Hi! Yes I would recommend learning the C# syntax first. First learn the basic concepts of the C# language then progress to the more advanced concepts of the C# language. I would then recommend learning a web framework like Blazor. Since you are already familiar with React, you should be able to pick up the fundamentals of Blazor fairly easily. I would learn an ORM technology like EF Core, basic relational database design, SQL Server and T-SQL. I hope that helps - that is just a very simplistic road ma- - but you'll gain an understanding of all that you need to learn as you progress.
Unfortunately, I'm not too fond of some changes in Java. One is that Oracle Corporation left support of Java EE and Java FX to the community. I think that Oracle doesn't take care of Sun Microsystems' legacy appropriately. I see that the main market demand for Java is in the Financial and banking transactions sector. I like C# more while I appreciate the robustness and discipline of Java language. I first learned Java but after a while, I felt like I was in prison. I won't use it again unless someone pays me for it.
Thank you for sharing your personal experience with Java! I think your comment is valuable because you started with Java and have found that you prefer working with C#. :)
Just wait when this Apple Vision Pro takes off, C# and Unity will be at forefront developing UI on this thing.
I said a while back that developing apps for 3D immersive realities is going to be huge - yes I think you might be right about C# and Unity! C# is certainly a much easier language to work with that for e.g. C++.
Why do you think Apple would not use Swift for that?
@defoer3049 - I'm not sure specifically about Apple - as you say it makes sense that a language like Swift could be used there but in general C# is a great language to use for 3D immersive reality software development. It is a very versatile language.
Thanks for your reply. Yes, an ardent C# fan here (in Afghanistan!). @@GavinLon
@@defoer3049 Thanks for commenting! So great to see that there are fans of C# distributed all around the world! :)
Since I use Linux exclusively, answer is easy it's Java all the way with Spring Boot for backend development.
C# doesn't really run on Linux or MacOS even though there are poor ports of it, but Java runs well everywhere.
Cool - thanks for your feedback from a Java perspective. C# does run on MacOS and Linux - but I would love to test how well .NET and C# runs on various Linux distributions. :)
C# is great language of course, but let's be honest Java is dominante for backend platform. When you want to deploy app on the cloud C# is not so good and does not work well on multiplatform, but primary key of Java is run multi-platform
I would politely disagree with you. C# and .NEt work well as a multi-platform technology - especially since the release of .NET 5 (2020). I do agree that Java dominates as a backend platform at the moment. Thanks for your comment and point of view :)
@@GavinLon may be it is well brother but key target of Java is cpu-bound which can be done via parallel way and multi-threading that is really flexible and much faster to handle complex heavy processing rather then asunchronously, on the other hand c# supports async/away which is I/O-bound fechting request from db and file handling. Java faster underlying hardware to process heavy complex instructions then C#, but C# is much faster to fetch request handling files then Java. And last but not least to say Java better then C# or vise verca, it is just stupid conversation. Personally I prefer Java / Spring boot, but C# is real ROCK ))
@@aliksargsyan2782 Cool. Thanks so much for your detailed response :)
@@GavinLon thank you too my friend for providing high quality content ))
@@aliksargsyan2782 You are very welcome! :)
I agree with you, and I think C-Sharp will become either second or third in the future.
I think the metrics generally do allude to an increase in favour of C# but it's not only the metrics that tell me that C# is gaining in popularity. It's also the remarkable enhancements that are being made each year to .NET that make .NET and C# an attractive technology. I also think that Java is not going anywhere and is also a great technology, but C# is certainly on the rise.
you're wrong, they are equally used, it depends on e.g. where you are located in the world.
Many companies don't say what they use, so those are not known, also many beginners seek the net for language names. And because most ranking lists are based on searches, it gives a skewed reality (Tiobe shows this!). But also job sites are not telling the truth, since many are sponsored/payed for certain companies to go high ranked (and thus their stacks).
Stack overflow is also full of troll voters, in their yearly list. I can e.g. vote for a language, but not using it.. thus manipulating the list in a false outcome. If many do that: the list becomes a mess and lacks reality.
Hi. Thanks for your comment. :) lol - I don't mind being wrong but what you have stated in your comment is the point of the video, to highlight that you shouldn't believe one or two sources of data as indicators of absolute truth and always try to include a wide range of data from multiple sources in your analysis. Context is of course also very important - i.e. for e.g. location - is Java more popular than C# in a specific location for e.g. around where you live. You may want to know which language is likely to provide greater remuneration - of course location in this context is a huge factor.
@@GavinLon Well, i must admit, i haven't seen the video till the end. So i might have jumped the conclusion a tad too fast. All i saw was the usual sources of information, and got triggered by it. (as i've seen so many of them, i concluded: "oooh no! not again... "
@@mr_don_key No problem :) It seems like we are in agreement on why it is always a good idea to look at a wide range of data from multiple sources before making relevant decisions.
If microsoft make a unified ,simplified and reliable NET platform maybe ill go back to C#
Thank you for your comment. :) I would argue that ..NET is unified and very reliable. C# is a fantastic language!
@@GavinLon or maybe its just me so many variants of NET sometimes they called .NET Confusion
@@redmundperrz7234 Since .NET v5 - .NET is unified :) Every version of .NET after v5 (released in 2020) is unified :)
@@GavinLon ok thanks for clarification
I am happy to increase C# but we have to see Java+Kotlin together in Java
Kotlin is on the rise
C# developer here but would like to hear opinions from Java developer.
Absolutely, that is what this video is all about - being as objective as possible. It would be great to hear from Java developers :)
So, Python is the winner here, as the USA did it in the second WWW.
Java is going to stay. It is the standard enterprise language. As C# binds to one corporation Microsoft, it won't replace it anytime soon.
Thank you for your comment. I don't think C# will replace Java. I think it's likely that C# will gain in popularity relative to Java. Java has proven to be very resilient, and is currently running on billions of devices around the world so it's definitely not going anywhere :)
Java is tied to a corporation (Sun Mictosystems and now Oracle) just like C# is. Java is not a standard. It is a widely used programming language, but that doesn't stop C# or other programming languages from rising and offering more than what you know with Java.
@lepingouindefeu According to Wikipedia, Project Valhalla "was announced in July 2014". So it's been 10 years now and still no release? If it takes them this long for what looks like a few tweaks to generics and value types, mostly, I'd say it's a dead project. Enhancing Java does not seem to be a high priority with Larry Ellison and Oracle. If it was, it wouldn't be "experimental", per Wikipedia again. It would get the funding and staff it needs, as C# always has at Microsoft. Java isn't going anywhere, there's too much of it out there already. But it does seem to be becoming the next COBOL thanks to Oracle allowing it to wither on the vine.
Why does he sound and look like AI?
Tiobe, insta dislike 😂