One thing I never see really explained to a beginner is what is the next step. I’m at the stage where I understand how to write If Statements and Loops etc in VIsual Studio. But other than needing to know that “at some point in the future” I will use it in a project, I don’t see what I can actually do with any of this. Say i wanted to build an app. An app with a visual UI and moving parts etc is a million miles from a black and white screen that produces an If Statement to calculate whether someone is over 18 or not?
Where does the practical use come in? Do you build the UI in Visual Studio or as I suspect, you use Visual Studio to write and debug code and then it is copied and pasted into some other program designed for building an app, or a stock investing algo, or a website? Is that how it works?
Im just wondering how i progress from the sandpit of writing boring drills in Visual Studio and progress that to something real?
Writing GUI applications from scratch (although fun), not very practical these days. You can fiddle around with lower level languages like C and very basic GUI libraries to better grasp graphical rendering.
We can often use libraries or frameworks to help us write GUI applications. But there in lies a problem. For what platform do you want to develop your application? which language suits my need? so which frameworks can i then choice from?
you could still write your code in Visual Studio code
Thanks for the reply. But still leaves me questionning how you go from writing something basic in Visual Studio to it actually appearing on a website, or screen or something with real world impact? Do you have to write it in something other than Visual Studio, like an off the shelf app building software that happens to use your chosen language in the backend?
You can write the code in visual studio code.
websites have there own languages (html, css and JS for front-end, and a lot of choice in the back-end). you can easily create a html file with visual studio code and then use your browser to render this page.
There are tools like QT for C++ which include some drag and drop when designing the GUI of you app. But the more complex and underlying logic still requires code
But still leaves me questionning how you go from writing something basic in Visual Studio to it actually appearing on a website, or screen or something with real world impact?
Check out subreddits for webdev or specific languages or frameworks (Python, JS, Flask). I haven’t checked the CSS subreddit but I follow a few yt channels and there’s a lot of great things happening there too.
People there share their projects all the time and you’ll see that the meat of the functionality is done through code in a text editor (Visual Studio, Sublime, Atom, etc).
The real world impact is in the functionality, the aesthetic design is a means to that end (nevertheless important).
Another way you can think of it is: What apps do you think have an impact? How would you describe what they do? One could argue that programming is gaining the knowledge and creativity to bring that descriptive narrative into a technical reality.
I’m at the stage where I understand how to write If Statements and Loops etc in VIsual Studio. But other than needing to know that “at some point in the future” I will use it in a project
If-statements and loops are incredibly useful foundational bread-and-butter tools. Some of the best tools are sometimes unimpressive at first glance. But to those that work with them they cherish the versatility their simplicity brings.
In sports, the “pass” is a similarly common basic that when applied by elite athletes has the ability to bring people to tears. In music, playing a scale in tune is another example: alone it doesn’t do anything, but when we think about our favorite moments in music they are often in tune!
It’s a long way from soft boiled egg to souffle. Basic programming is learning to boil water. Put the ambition to build an app out of your mind and concentrate on the fundamentals. Work with the rudiments until it hurts. Don’t race ahead thinking you will learn any faster. Stay in the shallow end and gradually you will make it into deeper water, but with confidence in your ability with the small stuff.
Thanks all, really good points raised. Once I really cement the basic techniques I will look to the subReddits and Youtube to see the next steps.
Still find it hard to see how printing things in VS’s console window can be translated into a useable bit of software…
Maybe an example would help, I come from a derivatives trading background and my interest in coding came from actually being made redundant because the trading techniques I used could be automated.
A lot of financial roles require C# or Python now. So with the comment in mind of “how does Visual Studio’s console window relate to something practical” am I correct in thinking eventually you would get to a point where you would pull in data from outside of VS and get your code to reference that data and say something like “If the current price is higher than yesterday’s highest price then buy” and VS would be able to speak directly with your broker.
Or… would it be more the case your broker would have a C# environment already created that would know what the words “price” and “buy” actually mean and you would build such a system in their application in the language of C# or Python? Am I along the right lines?
I use a financial example as that’s the world I know, but i guess the same could be applied to apps, or websites, or accountancy software etc. You would actually use a language to build functions in their environment so there would be a library of words and GUI’s to bring it all together?
Personally, I’m not a big fan of fancy IDEs for beginners. The less they have to work with the more they can concentrate on learning the critical rudiments. If it’s Python you are working with, then learn how to use IDLE, from python.org.
Download, install, and be sure to put a shortcut on your taskbar. When you click that link it should open the interactive shell. If you click the file menu and select New File it will open the text editor. Save, but don’t navigate to a new directory, just save it in the provided Scripts folder that is part of the Python installation.
You’ll spend a lot of time working in the shell, on small stuff. Reams and reams of small stuff. Simple tasks. Learn all the ins and outs by working with the basics. Cool your jets and quit thinking there is a fast track. There isn’t.
Also, we can save a copy of the current shell. I created a
shells folder in the Scripts folder, and I just use the date as the filename.
I make it a habit to save the shell when I first open it. That way as you work you can continue to save. The file itself won’t be executable but the code examples, trials, mistakes, error messages, etc. will always be there to look back on. Just remember to Save before you close the shell.
You would actually use a language to build functions in their environment so there would be a library of words and GUI’s to bring it all together?
Close, you don’t really even need a gui though to make the functions run and give you useful info. What is interesting is visualizing the data if you’re going more for financial usage.
There’s a whole world of machine-learning that can try to predict trends from datasets.
A real simple example is a set of data points of housing in California:
- housing median age
- total rooms
- total bedrooms
- population, households
- median income
- median house value
- ocean proximity
With these points, you can build a model to predict a district’s median housing price (with say: python, pandas, numpy, scikit-learn).
I’m not that well-versed in it, but it seems to be a blossoming field.
I share this to give you an idea of some real-world applications you personally might be interested in.
But should be well versed in Python basics and intermediate level coding. This is not something to learn, but to apply given previous knowledge of not just Python, but statistics and other maths.
100%, all of the above can only be considered after having a firm grasp of the fundamentals in its field. I’m assuming since he does finance though, he will have some background in statistics, etc.
This is a common feeling. While practicing fundamentals over and over can be boring attempting to use them has helped me discover where I did not know something as well as I had thought. If you are at the
stage, then the next step is to learn and write a few functions. The goal of writing code should be to not have to write that code again. Functions are the first step to that process, write once, execute many times.
After you think you understand functions. then try incorporating other peoples code. These are often called “packages”, “modules”, etc. depending on the language.
Then write your own package, and use it.
The first program that many people make is a simple calculator. Yes most languages can do this easy, but it is good practice to write something you know how it should work. Start with addition, then add functionality as you get things working. If you are into financials maybe make an APY function, etc.
My first programs were written in java, there are simple gui packages you can add to your code so that you can “see” your program run. Many other languages will also work. I suggest you get familiar with a few languages. Down the line you will likely at least need to talk to someone that is working on the same project, but uses a different language.