473,386 Members | 1,908 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

I need some guidance -- where do I go from here?

I apologize if this question is not appropriate or specific enough. I've tried asking this question on plenty of other discussion forums but it seems as though my question does not comply with their rules.

Here's the deal: Two years ago I took a couple of C++ courses. This started from "hello world" up till OOP, inheritance and polymerphism. I enjoyed OOP a lot and did well on those assignments. However, I didn't get any practice outside of the course assignments. Even in the course certain topics, such as file handling or I/O streams, I did not understand that well.

I love programming and I wanted to do something about my passion and so, I took a Java course last year. The problem was I was bored during the whole course. It was very similar and I learned nothing new (outside of syntax).

Now here's my problem: In all these courses I'm learning a lot about the syntax and how to do things. But I don't feel like I'm learning what code is useful for which application and how to make these lines of code useful by actually building something. I'm sick of making those "find prime numbers till 1000" and "make a banking system" application found in our course assignments.

I want to do something practical. Something I'm interested in such as making a cool mobile app or making a small video game or some game engine or just any nice application.

This leads me to another problem: Which language should I focus on? I "know" Java and C++ but I need to target one. Ultimately I want to be good at both and a scripting language but I don't think it would be a good idea to practice both at the same time or maybe it would be, I'm not sure.

And that then leads to my final problem. Suppose I start practicing C++, where do I even start from? I have knowledge till OOP but I feel there are some conceptual holes in between (maybe regarding memory allocation and deletion with pointers and all). To fill these conceptual holes, do I have to start from the beginning? That would be insanely boring unless there was a book I could read for others in a similar situation. Or do I just "start" from anywhere, and risk never having that solid conceptual background?

I know this a long post but I love programming and math. I need to be set on a 'track' where I can learn something every day expanding my knowledge about the tech world at all times and staying up to date.
Feb 22 '15 #1

✓ answered by weaknessforcats

Yes, I went through the same thing myself. A programmer can't be expected to be a medical doctor AND a C++ developer. Nor can the programmer be expected to be a hedge fund analyst AND a C++ developer. In the real world there is usually a subject-matter-expert (SME) between the user and the programmer.

All you have to do is work in an area that you like. If you can't stand financial types, then don't work there. I liked airplanes and started out at Boeing ended up at Microsoft.

The application drives the programming language. Big database stuff you learn SQL. Writing Windows apps for the Internet you use C#. And so it goes.

If you like C/C++, then I would study it every day. I read eight or so books (working all the problems) after 8 quarters of C++ at University of Washington. By the time I got my first C++ job I could just look at the code and see what was going on.

That started a sideline career as a C++ instructor where I heard questions like yours often.

While you search for your application area, study every day. Study what you enjoy. Get good at it. The money will follow.

7 1374
weaknessforcats
9,208 Expert Mod 8TB
Yes, I went through the same thing myself. A programmer can't be expected to be a medical doctor AND a C++ developer. Nor can the programmer be expected to be a hedge fund analyst AND a C++ developer. In the real world there is usually a subject-matter-expert (SME) between the user and the programmer.

All you have to do is work in an area that you like. If you can't stand financial types, then don't work there. I liked airplanes and started out at Boeing ended up at Microsoft.

The application drives the programming language. Big database stuff you learn SQL. Writing Windows apps for the Internet you use C#. And so it goes.

If you like C/C++, then I would study it every day. I read eight or so books (working all the problems) after 8 quarters of C++ at University of Washington. By the time I got my first C++ job I could just look at the code and see what was going on.

That started a sideline career as a C++ instructor where I heard questions like yours often.

While you search for your application area, study every day. Study what you enjoy. Get good at it. The money will follow.
Feb 22 '15 #2
Nice one. weaknessforcats. You just spoke my mind. Java seems to be more fluid with apps and games. C/C++/C# is also cool with windows related stuff. Turn your hobby, what you enjoy most, to your profession. While you are yet to make up your mind on your language area(which should be based purely on what gives you joy the most), study everyday, follow video tutorials, then try to tweak your assignments and get new functionality. After each assignment, try to edit and tailor them according to your own taste. Edit and tweak. Sure helps. if you run into any bugs, these forumns and others are here to help you. Above all, study everyday, it pays on the long run. I hope you find the right path. See you at the top. :-)
Feb 22 '15 #3
Thank you for your answer. Regarding the "holes in my concept", how do you think I should address that? Do I have to start from the basics AGAIN or should I just do what I want and let the holes get covered in time?
Feb 22 '15 #4
weaknessforcats
9,208 Expert Mod 8TB
You will always have holes. My experience has been that I am always operating on the leading edge of what I know. Looking back a few years I see only easily understood basic material. However, I recall that stuff wasn't easy at the time.

I set aside a 2-hour window every day where I read C++ textbooks and wrote up the examples testing my results against the book's. This lasted for 8 or 9 textbooks.

Learning C++ will take about 2000 hours. That's about one year on the job.
Feb 22 '15 #5
Well would you suggest any C++ textbooks for the situation I am in? I'm still torn between C++ and Java. What would be the best way to get good at both?
Feb 22 '15 #6
weaknessforcats
9,208 Expert Mod 8TB
I don't recommend books. I will recommend to pick whatever book you think you can read. Then read it, do all the exercises and examples, and put it on your shelf. Do not go back and refer to it. Instead get another book. You will get another author's view.

As to what language to learn, the language follows the application. I think your first question is what do I want to program? Games? Finance applications? Astrophysics? You then learn the languages used by those applications.
Feb 22 '15 #7
donbock
2,426 Expert 2GB
Here are some books that might help you make the jump from knowing how to program to knowing what to program. The book summaries are copied from the back covers.

Andy Oram & Greg Wilson. Beautiful Code: Leading Programmers Explain How They Think. O'Reilly Books, 2007.
This unique and insightful book is a collection of master classes in software design. In each chapter, today's leading programmers walk through elegant solutions to hard problems, and explain what makes those solutions so appealing. This is not simply another design patterns book, or another software engineering treatise on the right and wrong ways to do things. Instead, it gives you the chance to look over the shoulder of some superb software designers and see the world through their eyes.

Diomidis Spinellis. Code Reading: The Open Source Perspective. Addison-Wesley, 2003.
You may read code because you have to -- to fix it, inspect it, or improve it. You may read code the way an engineer examines a machine -- to discover what makes it tick. Or you may read code because you are scavenging -- looking for material to reuse. Code reading requires its own set of skills, and the ability to determine which technique to use when it is crucial. In this indispensable book, Diomidis Spinellis uses more than 600 real-world examples to show you how to identify good (and bad) code: how to read it, what to look for, and how to use this knowledge to improve your own code.

Les Hatton. Safer C: Developing Software for High-integrity and Safety-critical Systems. McGraw-Hill, 1995.
Beginning with a broad overview of safety in software, the book provides a critique of C as a safety-critical language, based on the author's extensive measurements of commercial C quality. Complexity, safer subsets, standards and tools are all examined. Essential rules of good working practice and guidelines for immediate implementation are presented and a direct comparison is made of specific safety-related features in C and other commonly-used languages.

These books are pretty old; and they are much more C than C++. Maybe you can find them at the library.
Feb 23 '15 #8

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Kenton Groombridge | last post by:
Hi, I previous posted this in a gcc and g++ groups since that is the compiler I am working with, but I didn't get any response. Hopefully these are the right groups for this question. I am...
2
by: Larry David | last post by:
Hi, This is one of those posts where not only do I not know the answer, I don't fully understand the *question* that I should be asking... but I'll try my best: I've designed a web site which...
2
by: Chumma Dede | last post by:
Hi, I need to code a DLL in .NET which logs the response times for our asp.net multi-tier application. The problem is we need to log the timestamps at multiple stages in a process lifecycle...
5
by: jensen bredal | last post by:
I need to keep track on user "session data" while still turning session off as i do not want users login to expire? Thanks JB
2
by: Jamie | last post by:
Hello to everybody! I am a C/C++ student and want to learnd DOT NET , but I do not have any idea what is this DOT NET all about. So Please Could somebody tell me links of some of the basic...
5
by: Realtime | last post by:
How do I go about writing a php application that will alert people in a database from different RSS news feeds from different sites. So lets say we have a database and user A has a list of news...
0
by: lucky | last post by:
hi, i've to work on a DB2 project.i'm totally unaware of those concepts.can anyone guide me atleast on the overview of db2.i need specific guidance on connectivity in db2.does it refer tothe...
2
by: csman24 | last post by:
I'm just looking for some guidance so that I get a start on a school project. Need to write 3 kind of event for a Bus, Passenger, transit system in which: -person: arrives at bus Q after random...
4
by: krishnakant Mane | last post by:
hello, I am a bit confused. I want to make a program that will take some data from a database and make a string of text. and send it to the respective email id of a person. next I also want to...
3
by: patriciashoe | last post by:
Good AM: I have struggling with constructing a string to execute some SQL. Here is my update statement update teacherresources set = (( / variable1) * Variable 2 )) where(( trschool_id...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.