Jump to content

What language for making windows applications

Snifferdog3

Hey, so I made a post awhile back similar to this, I want to make some simple programs as a hobby, but I'm not sure where to start, I want to make something like cpu-z but not so complex, just for practice, for instance make a program that will display cpu/gpu temps maybe? But I'm not sure what language to learn, I was thinking python and I did do a few lessons on codecademy but all that's telling me is "a cucumber costs £1.5 you have £10" etc etc, 

I'm wandering if I would be better on YouTube or something? also how do I make the GUI? Someone said blender but how? What about C++? (More complex right?) I want my programs to launch in .exe files too.

 

Honestly in a maze and not a clue where to go.

Link to comment
Share on other sites

Link to post
Share on other sites

It depends on what framework/API you want to deal with. If you're going with .NET, there's plenty of options (https://en.wikipedia.org/wiki/List_of_CLI_languages). C# is the most popular of the bunch.

 

If you want to try Win32 or similar, you're basically stuck with C/C++.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Mira Yurizaki said:

It depends on what framework/API you want to deal with. If you're going with .NET, there's plenty of options (https://en.wikipedia.org/wiki/List_of_CLI_languages). C# is the most popular of the bunch.

 

If you want to try Win32 or similar, you're basically stuck with C/C++.

Ok well, I haven't really looked into API  so I'm not really sure what exactly it is, I googled it and it's to do with interface right? I've heard of .net alot but I googled that and it's a web API? So do that mean it's for websites? Sorry if these are some stupid questions but i haven't looked into this API stuff.

Link to comment
Share on other sites

Link to post
Share on other sites

API generally speaking bridges the gap between your application and something else. In the example I used, Win32 and its related family, the API handles your app's interaction with the OS.  .NET is what's called a framework, which provides the foundations for building an application. .NET is meant to be a generic application framework, not just for websites or whatnot (if you saw it in some web app context, it was probably referring to ASP.NET)

 

If you were just looking for an answer to your question, download Visual Studio Community and go with C#. And you can use https://stackoverflow.com/questions/1195112/how-to-get-cpu-temperature or https://ourcodeworld.com/articles/read/335/how-to-retrieve-the-cpu-s-temperature-with-c-in-winforms to get started on the app you were looking at making.

Link to comment
Share on other sites

Link to post
Share on other sites

16 minutes ago, Mira Yurizaki said:

API generally speaking bridges the gap between your application and something else. In the example I used, Win32 and its related family, the API handles your app's interaction with the OS.  .NET is what's called a framework, which provides the foundations for building an application. .NET is meant to be a generic application framework, not just for websites or whatnot (if you saw it in some web app context, it was probably referring to ASP.NET)

 

If you were just looking for an answer to your question, download Visual Studio Community and go with C#. And you can use https://stackoverflow.com/questions/1195112/how-to-get-cpu-temperature or https://ourcodeworld.com/articles/read/335/how-to-retrieve-the-cpu-s-temperature-with-c-in-winforms to get started on the app you were looking at making.

Well I'm thinking python is a great place to start, my question is now what is needed to make a basic program, the code, the API, what else? I'm a complete newbie in coding things like it, I've always been a computer geek and I can build custom pcs use widows CMD, install os, use VM, overclock, always keeping up to date with new tech like CPUs and GPUs (subscribed to ltt tech linked and tech quicky obviously), I've always loved computers but there's one thing I've never tried or even looked into... Coding. So I'm a complete beginner here, not a clue what to do. So I'm really confused. I found this video: 

 I'll also go though codecademys course just to learn the syntax and stuff, then once I've got use to the actually language and things then maybe start working on actually making a program, figuring out what exactly I need and how to make a interface etc? I would like to move onto harder programming languages in the future but I want to start simple as I literally have NO experience in coding... Sorry If I'm making no sense but I really don't know what to do...

 

Also I don't want to just know how to get cpu temps it was just a example of what type of programs I'm thinking of making.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Snifferdog3 said:

Well I'm thinking python is a great place to start, my question is now what is needed to make a basic program, the code, the API, what else? I'm a complete newbie in coding things like it, I've always been a computer geek and I can build custom pcs use widows CMD, install os, use VM, overclock, always keeping up to date with new tech like CPUs and GPUs (subscribed to ltt tech linked and tech quicky obviously), I've always loved computers but there's one thing I've never tried or even looked into... Coding. So I'm a complete beginner here, not a clue what to do. So I'm really confused. I found this video: 


 I'll also go though codecademys course just to learn the syntax and stuff, then once I've got use to the actually language and things then maybe start working on actually making a program, figuring out what exactly I need and how to make a interface etc? I would like to move onto harder programming languages in the future but I want to start simple as I literally have NO experience in coding... Sorry If I'm making no sense but I really don't know what to do...

Python I'd argue is good to learn some fundamentals of programming, but the problem with Python, at least from what I've tried, is doing anything other than a non-GUI based app will be cumbersome. Unless you can find a GUI tool that can spit out Python code, you have to build the GUI from scratch which I'd argue is an intermediate level task. Especially because building a GUI from scratch requires you to do multithreaded programming.

 

Going with Visual Studio and C# will set you up with everything you need to build either a command line or a GUI based application.

Link to comment
Share on other sites

Link to post
Share on other sites

Kivy for Python is pretty good but C# generally has a lot better support for building desktop Windows clients. Basically, I agree with everything Mira said above.

Link to comment
Share on other sites

Link to post
Share on other sites

ok I'll go for C# for now, codecademy doesn't have a free course for that so I guess YouTube it is? I would like to not spend too much money, if anything at all learning programming but I'll see how it goes, c# is used for games too right? So a good one to learn even if it's harder. I believe visual studio is free right? I think I've had it before... I'll start today if I have any questions I'll be back here, thanks guys :)

Link to comment
Share on other sites

Link to post
Share on other sites

What about C++ though? Is that a better one to learn? C# is for Windows, but what if I wanted my program to run on Mac or Linux? Would C# work for other OS? It's between C++ or C# then.

 

Edit: just read that C# doesn't work with hardware but C++ does, so does that mean with C# I won't be able to make a program showing pc temps etc?

Link to comment
Share on other sites

Link to post
Share on other sites

I usually write Windows GUI applications in C with the IUP framework, or in Delphi (the free Community Edition is more than just good enough).

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

46 minutes ago, Dat Guy said:

I usually write Windows GUI applications in C with the IUP framework, or in Delphi (the free Community Edition is more than just good enough).

What C? C++ or C#?

Link to comment
Share on other sites

Link to post
Share on other sites

C, as in the C. The C Programming Language.

The language which was later perverted into C++.

C is neither C++ nor C#, it is just C.

 

Have you honestly never heard of it? ?

 

C# annoys me with its Javaness and C++ doesn't have sane GUI frameworks.

IUP is this one: http://webserver2.tecgraf.puc-rio.br/iup/

 

edit: As you plan to have some direct hardware access for your planned project, less abstraction means less overhead and a faster execution time as well. :)

Python is much too slow for this kind of application.

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

1 hour ago, Settlerteo said:

C# along with dot Net framework. Period.

C# is easier and better for me but Google says that it doesn't work with hardware, so for instance I want to make something like cpu-z, will c# work for that?

Link to comment
Share on other sites

Link to post
Share on other sites

11 minutes ago, Dat Guy said:

C, as in the C. The C Programming Language.

The language which was later perverted into C++.

C is neither C++ nor C#, it is just C.

 

Have you honestly never heard of it? ?

 

C# annoys me with its Javaness and C++ doesn't have sane GUI frameworks.

IUP is this one: http://webserver2.tecgraf.puc-rio.br/iup/

 

edit: As you plan to have some direct hardware access for your planned project, less abstraction means less overhead and a faster execution time as well. :)

Python is much too slow for this kind of application.

Nope not heard of just C, but like you said it needs hardware access and apparently c# can't do that. So C++ would be my main option, I'll look into C now and see what it's about, thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

C seems like it would suite me and it's easier than C++. So maybe that would be a good option. Also does anyone know what language cpu-z is written in?

Link to comment
Share on other sites

Link to post
Share on other sites

20 minutes ago, Dat Guy said:

C, as in the C. The C Programming Language.

The language which was later perverted into C++.

C is neither C++ nor C#, it is just C.

And i quote. C is a great language to get into programming. You will learn so many things and you will have a very strong programming base knowledge which will make learning a new tool easier. But and this is a big but. C is old. It's good to start but not so good to continue unless you don't have an option. For example i currently write in CA Gen which is total shit but it's the best tool for what the company i work for needs to develop its product. C# will make your life easier. Visual studio will help you so much with debugging and a lot of issues which would be a pain in the ass in C.

9 minutes ago, Snifferdog3 said:

C# is easier and better for me but Google says that it doesn't work with hardware, so for instance I want to make something like cpu-z, will c# work for that?

It doesn't work with hardware? Really? where do you read these articles. Almost every new software backend code for windows is written in C#. And you have microsoft support, you have visual studio. I don't know why this is a debate even more for an in experienced user like you. Wanna write in Assembly or C? Yes you can but do you want to make life easier or harder?

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Snifferdog3 said:

C seems like it would suite me and it's easier than C++. So maybe that would be a good option.

C is easier than C++. You re kidding right? Have you written anything in C and in C++. C++ came out to make life easier for people who wrote in C at the time.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Settlerteo said:

C is old.

The word you were looking for is "mature". Unlike C# with ever-changing frameworks and language standards, C is mostly complete. That said, the newest version of the C standard is C17 ("C 2017"). How is that a bad thing?

 

5 minutes ago, Settlerteo said:

C# will make your life easier. Visual studio will help you so much with debugging and a lot of issues which would be a pain in the ass in C.

I respectfully disagree. Also, nobody stops you from writing and debugging C code in Visual Studio (although there are better IDEs for that).

 

4 minutes ago, Settlerteo said:

C++ came out to make life easier for people who wrote in C at the time.

C++ adds a whole bunch of complexity even for relatively easy tasks. Even worse, there are many contradicting concepts in C++ which all claim to "make your life easier". Let me add that I wrote "relatively complex" tools in both languages and I have stopped to write new ones in C++. Just because C++ is a horrible mess of a language.

For a tool like CPU-Z which does not need all that class cruft and can make perfect use of pointers, idiomatic C++ would be a joke when compared to C.

 

We get it, you can't write in C. If @Snifferdog3 looked at it and thinks it fits, who are you to decide otherwise though?

Write in C.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Settlerteo said:

It doesn't work with hardware? Really? where do you read these articles. Almost every new software backend code for windows is written in C#. And you have microsoft support, you have visual studio. I don't know why this is a debate even more for an in experienced user like you. Wanna write in Assembly or C? Yes you can but do you want to make life easier or harder?

Well according to Google c# doesn't work with hardware, but that could be wrong.

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, Settlerteo said:

C is easier than C++. You re kidding right? Have you written anything in C and in C++. C++ came out to make life easier for people who wrote in C at the time.

Once again, I googled what to start with and everyone says C is easier to start with.

Link to comment
Share on other sites

Link to post
Share on other sites

The thing with programming languages is, you can use any programming language for basically anything. Sure some will do some tasks better than other languages but overall you are fine with whatever you choose. From your comments I assume that you want to do something to monitor your PC hardware? Example: https://stackoverflow.com/questions/25552/get-os-level-system-information here is a stackoverflow thread specifically for the Java programming language (which works on any OS) to get some hardware information. You can probably find libraries for ANY programming language that you want. In my opinion, if you have a programming language that you already know well or like, then just use that one.

 

Edit: If you are totally new to progamming I recommend to start with python. I don't like python a lot for bigger projects, but it is very easy to get into.

Link to comment
Share on other sites

Link to post
Share on other sites

2 minutes ago, Dat Guy said:

 

C++ adds a whole bunch of complexity even for relatively easy tasks. Even worse, there are many contradicting concepts in C++ which all claim to "make your life easier".

For a tool like CPU-Z which does not need all that class cruft and can make perfect use of pointers, idiomatic C++ would be a joke.

 

We get it, you can't write in C. If @Snifferdog3 looked at it and thinks it fits, who are you to decide otherwise though?

I agree, I don't want to be doing high level stuff at the moment, just simple applications that's can work with hardware, once I get to know how coding working in a few years then sure I can try to go to some hard languages like C++...

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×