How to begin real programming

In summary, the conversation discusses the topic of transitioning from web development to "real" programming, specifically in the fields of modeling and financial analysis. The speakers recommend installing Linux and experimenting with it, as well as taking computer science courses and working on open source projects to gain a better understanding of programming. They also mention the importance of learning languages such as Python, C++, and Java for quantitative finance, along with R and MATLAB for modeling. Overall, the speakers emphasize the importance of hands-on experience and self-teaching in order to become proficient in programming.
  • #1
synkk
216
0
How to begin "real" programming

Around a year ago I decided to start learning to program in order to make a little bit of money on the side. I learned javascript, html, css and a little php and python in order to start web development. My friend then designed for me websites, and I built them up to be sold. I made quite a bit of money doing this, and had a lot of fun, but now I want to start to actually make programs, or do some sort of modelling, anything which uses more maths basically (I'm starting a maths degree hopefully in September).

In the future, I really want to go into some sort of financial analyst job (front office type role) - I searched online for the programming languages they use, and most people were saying you need to know how to use excel well, and some other programming languages which I've never heard of. I read online to really learn programming it's best to just install linux (which I did) and just experiment with that. I installed it on my netbook, and I have no idea what to do, or what anything does. I really want to start to learn how to go into modelling/software development, and just learn how to understand programming really, rather than following some guide all the time.

I really don't want to go into web development in the future - and hope I can learn more useful languages to go into my hopeful career. If anyone could recommend what to do next it'd be appreciated, thanks.
 
Physics news on Phys.org
  • #2
For me the best approach was always to attack some problem and to do combat scouting. For example - simulation of Newton mechanics in some planetary (or much larger) system. Yes, it was done zillion of times, but you will have to choose method, you will have to learn how to implement it, you will have to find the way of visualize the results. Plenty of work to do, and it will leave you with at least a basic working knowledge of the system.
 
  • #3
Linux is an operating system, like Windows or Unix. The function of an operating system is to manage the various input and output devices of the computer, provide the user with a means to manage the files stored on the computer, and to assist the processor in loading and executing programs. In order to learn how to use Linux, another round of training is required. Pick up a book like Linux for Dummies and start training yourself.

In teaching yourself how to write applications, it will be easier to adapt to writing for certain operating systems. Those operating systems without a graphical user interface are somewhat easier to write programs for. With the graphical systems, you will need to be familiar with a lot of the details of the particular interface, and a specialized development environment which is tailored for programming can eas some of your burden. All in all, initially, a lot of your time is going to be spent learning how to operate your development tools and environment before you get to start writing code in earnest.
 
  • #4
synkk said:
I'm starting a maths degree hopefully in September

Then take some computer science courses while you're there. Try to get through an algorithms course, and something that deals with computer architecture. The full degree is probably not worth it. In the meantime, do as borek says and find an interesting problem and attack.
 
  • #5
I am a mathematics student in my final year of undergraduate studies at the University of Alberta, and I myself have taken up programming on the side. Math and compsci go hand in hand in many instances so I thought this to be fruitful.

I decided on taking an MIT opencourseware course (6.00-Python). It is very well done, and if you take the time to go through the whole course, you could benefit from it greatly. My understanding is once you get a strong grasp on a programming language like Python, learning other languages is not very difficult.
 
  • #6
Get an open source project that is mature in its development and use and take a look at the source code.

Focus on the design of the project, its modules, the connections between them, the basic data definitions, the core API's (interfaces) and look at how extensions are created and executed within the framework of the project.

Do this in conjunction with all the non-domain specific stuff (algorithms, compilers, standard data structures, etc) and you'll be on your way to achieve your goal.

Also try modifying or adding features on your own as soon as you can to see how (painful) rewarding development can be.
 
  • #7
C++ and Java are the primary languages used in quantitative finance. Some of the other languages used regularly are R and MATLAB (modeling).
 

1. What programming language should I start with?

There is no one "right" programming language to begin with. It depends on your interests and goals. Some popular languages for beginners include Python, Java, and JavaScript. Do some research and choose a language that aligns with your interests and has a strong community for support.

2. Do I need a degree in computer science to learn how to program?

No, you do not need a degree in computer science to learn how to program. There are many online resources, bootcamps, and self-study options available for learning programming. However, having a degree in computer science can provide a more comprehensive understanding of programming principles and concepts.

3. How much time does it take to learn programming?

The time it takes to learn programming varies for each individual. It depends on the programming language, your dedication to practicing and learning, and your prior knowledge and experience. It is important to set realistic goals and consistently practice to improve your skills.

4. What are the essential skills for a beginner programmer?

Some essential skills for a beginner programmer include problem-solving, attention to detail, logical thinking, and the ability to break down complex tasks into smaller, manageable steps. It is also important to have a strong understanding of basic programming concepts like data types, loops, and conditionals.

5. How can I practice and improve my programming skills?

The best way to practice and improve your programming skills is to code regularly. Set small, achievable goals and work on projects that interest you. Join online communities and attend coding workshops to get feedback and learn from others. Additionally, reading and studying code written by experienced programmers can also help improve your skills.

Similar threads

  • STEM Career Guidance
Replies
2
Views
1K
Replies
10
Views
658
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Career Guidance
Replies
16
Views
3K
  • STEM Career Guidance
Replies
21
Views
5K
  • STEM Career Guidance
Replies
30
Views
3K
  • STEM Career Guidance
Replies
1
Views
2K
  • Programming and Computer Science
Replies
33
Views
2K
  • STEM Career Guidance
Replies
4
Views
1K
  • Programming and Computer Science
Replies
16
Views
1K
Back
Top