DEV Community


Difficulty in substantiating a choice for choosing the right language

・2 min read

hello everyone! Just to make sure I am studying computer science and I don't have a lot of experience in programming so it makes it extra hard to make a conclusion. Cause I think to make the right descision you already need to understand programming. So I hope somebody can help me out with making choices and descisions.

So I investigated the top 10 programming languages on the internet and took an average of all the top 10.

Eventually the top 10 programming languages on the internet where

  1. Javascript
  2. Python
  3. Java
  4. C#
  5. C++
  6. C
  7. PHP
  8. Go
  9. Typescript
  10. Kotlin

Now I need to build a scan system that must meet the following requirements.

  1. Interact with hardware like scanners and printers.
  2. automate deployment process software.
  3. Deployment needs to be scalable easy. So more computers can be added fast.
  4. The current operating system is windows but it could be a change in the future, cause of tablets.

Cause I don't have any technical knowledge I have no idea where to start in finding out what opportunity's there are for deployment.

I also think that it is partly different for everyone and that everyone has their own experience and opinion. But still this is what I know right now.

C and C++ is close to the machine language. So really close to the hardware. It's mostly used to build software that's not client-facing. Client-facing means people don't ineract with the software.

Java could also be capable to do the job. But then I should maybe choose C# over Java, because of the operating system.

Python on the other hand is a general purpose language and is mosly used for machine learning, robotica, web scraping and server automatisation. But Python is slower then Java and C# is again better then Java cause of the operating system.

I read somewhere about Node.js and I guess it could also be used for building the application when I would use a framework like Vue.js. So I am really confused about a comparrison between Node.js, PHP, C# and Go(From Google).

I have searched up a lot of explanations but it's really hard for me to understand the technical aspects. Maybe someone can help me to explain the following languages easy or maybe some concepts so I can search it up and get closer to an answer.

It would be awesome if you could explain the following languages in a simple way so I could understand them and know if they are valuable.

  1. PHP
  2. Go(Google)
  3. Node.js
  4. Kotlin

let me know how you think about what I wrote. I would love to get some feedback!

Discussion (5)

lifelongthinker profile image

I think you have many problems here, picking a programming language isn't one of them.

First, I believe the task at hand is way too broad/complex for someone new to the field.

Second, instead of looking for the right programming language, you should rather think of technologies and stacks (layers of different solutions combined).

Third, I believe the requirements are too broad to come up with any useful ideas. You are best advised to specify those further.

Fourth, there is hardly ever a perfect pick for anything, if at all. Anything you pick will have advantages and disadvantages, we are always dealing with tradeoffs here.

yhamers profile image
YHamers Author

I think it is really complex. I am thinking about writing a Winform application or use a framework for the runtime environment Node.js for example Vue.

It's a really tuff choice, because I have never programmed with Node.js. So eventually I have no idea at all and I need to make a descision in one week so really stressfull.
Right now I have the following conclusion with the search of information on the internet.

.net core makes it easier to maintain and fix bugs. The readability of the code has also been changed. This allows faster development and faster learning, which means less time to achieve the end result. On the other hand multi-threading is also a if then Node.js is again better for performance. The language is chosen according to the project requirement.
Reliability is more in the case of compared to node.js due to generic error handling, in this case it beats node.js.

One main problem I have now is that Node.js is a runtime enviroment. It brings more possibility's for the future in case a company would invest in android, cause it can run in any Browser. With Windforms I depend on Windows, Linux, MacOS. Maybe you know if there is a solution for WindForms on an android phone?

How do you think about this. I guess I did a good job with arguments, but I am just a student and not yet an IT specialist so it would be really interesting to have a perspective with more knowledge about technoligy. I am also sorry for my English. I am a dutch student.

lifelongthinker profile image

Sorry, but I really cannot follow the arguments you put forward here.

Don't get me wrong, it's okay to start out as a programmer and not know much about technologies, languages and frameworks, but your arguments are arbitrary and unsubstantiated. It simply doesn't make sense to prefer .net core over nodejs because it is more maintainable or readable. It is not. And .net core is a runtime environment as well.

Again, look beyond languages and see what technologies (frameworks, etc.) can help you with your project. Languages are just means to an end.

Thread Thread
lifelongthinker profile image

On a side note, please refrain from solving a problem through the eyes of a UI (you mentioned WinForms).

First, make sure your solution works independently of any UI or modality. Your solution domain should not be coupled with any UI layer. Loose coupling and separation of concerns are two key concepts of developing maintainable solutions.

Thread Thread
yhamers profile image
YHamers Author

What do you think about Uno Platforms, Vue.js or React.js? How would you analyse this as a programmer? so that I can research it and substantiate it in a word document for my study. Maybe I should start explaining what node.js is, what the frameworks are from node.js and compare that to Uno Platform. I am really curious how you would handle this as a professional.