Click here to Skip to main content
15,881,139 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
Hello there! im really not sure if this is the right place to ask this but here is the story.

I've been programming in C# for quite a while now and I am able to write software etc but I dont feel like C# programming is going to get me anywhere, since first of all the UI is so outdates it doesnt look good what so ever, I've been thinking about creating WPF applications but it would still be the same feeling, It doesnt feel like I will be able to start my own big thing in that, then I've also been thinking about Java programming but im not sure on how the whole OOP (Object Oriented Programming) works there, would it be the same as Visual Studio? And who knows there might be some other language that would fit me better.

I want to learn a language that will benefit me in the long run, I want to be able to help people who needs to hire a freelancer for programming issues and other stuff such as app development for android, what language would you recommend and why?

What I have tried:

I've tried googleing and asking other people but they just keep stating the most popular languages and doesnt really give me any information
Posted
Updated 4-Apr-16 0:06am
Comments
Sergey Alexandrovich Kryukov 3-Apr-16 22:10pm    
How can we know what do you code? :-)
You intent is quite noble, but how anyone can help a person who feels existentially lost? Don't you think you are trying to blame other people and put some responsibility on them, some responsibility which is really yours?

Why Googleing around to learn something about yourself? People don't know you to tell you something that you should know better. You try to blame language and WPF. For what? If your UI looks outdated, it's only because you create outdated UI; it's totally unrelated to the language and the framework. Start with yourself.

Why do you think that people, who "keep stating the most popular languages" don't give you any information? Isn't it because you did not tell them what information do you want? Or because such information does not exist.

By the way, these days, the software developer working in only one thoroughly chosen "perfect" language... is not a software developer at all. This is how things work. By trying to choose such language, you place yourself on the road to nowhere. Well, I could tell you some not very popular languages worth learning, but you can find them yourself.

Isn't it a time for you to understand that the only one who can benefit you is you?

—SA
BladeLogan 3-Apr-16 22:19pm    
Once again you help me alot! Im sorry if it seemed like i was blaming the language, but as the matter of fact, thats exactly what I do, it feels like it is me who is stopping myself from progressing as a programmer, I want to be able to learn more about the popular stuff, like what is really popular now in the programming market, what is something that everyone needs, im not trying to become the next facebook creator, I have a really big dream but im taking very small stepps, which is perfecrly fine by me, but sometimes I feel like Im capable of learning more but I cant because I dont know where to start, Like I really want to get into android app development but I tried doing it in C# which was a bad choise because it was really hard since its not the most efficient way of programming android apps, the most efficient language is Java im pretty sure, Sergey, Would you recommend Android app development with Java for me? I want to progress as a programmer, and I find that field very interessting but im not sure how much it would benefit me, not sure how many people there are that needs android apps.

Also you are a huge inspiration to me.
Sergey Alexandrovich Kryukov 4-Apr-16 3:00am    
First of all, the fact that you handle some criticism constructively shows a lot of hope.
These days, learning is as productive as never before. You should understand that when you talk to modern-day experts, you often talk to people who successfully learned great deal of technology before MSDN and Wikipedia, even before Internet, in the environment with great deficit of documentation and publications, forget about forums like this one. Not many of such expert can take your words like "I don't know where to start" quite seriously.

"Where to start" is just a common mistake. You don't need to think much about where to start, you can start with any random place. It just doesn't matter, as soon as you persistently and methodically study the subject. Can you imaging the excavation of coal from a mine using a jackhammer? This is how learning looks. At first, you don't know where to start, so you try hammering in few different directions, and finally find some vantage points, and eventually big fragments of the wall just fall down after a minimal impact. With experience, you just reach your goals faster...

Anyway, "capable of learning more" and "don't know where to start" apparently contradict. Capability does not appear by itself, it also grows with experience.

Now, I have no idea how did you draw the conclusion that C# is not the most efficient; this is one of the best languages designed so far, but it certainly have some drawback. However, I am not sure that you can identify those drawbacks. Can you name just a few? This is not a very simple question. Anyway, if you can share some problems you can see in C#, it could really be a topic for discussion.

For Android? Well, I don't know... .NET (CLR, more exactly) is not native to Android. I worked only with .NET and Mono, and it gave me excellent multiplatform solutions. Many things depend on your background and skills. At this time, I do some development using Free Pascal, and this is also one of the best languages. I believe it has stronger cross-platform capabilities than CLR, at least when it comes to Android. I still have to try it out on Android and Linux, but Windows results (in cross-platform type of project) look great.

Also, I find it somewhat disturbing that you tend to get something "popular". Long time ago, I derived a law of nature for myself: collective decisions chose the thing (technology, language, product) which is strictly the worst from the acceptable alternatives. Mind you, it's never the worst, otherwise the decision would not survive at all, it's worst from the acceptable. So, I would not chase for the most popular thing and at least look for some compromise.

One more thing: it's not productive to look for the example of "next facebook". This is already the exhausted field. Everything which already reached success should be forgotten. You need you own idea, which nobody knows. Facebook impressed you? Done. It's already there. You have to think it totally different direction. Isn't that pretty obvious? :-)

—SA
nv3 4-Apr-16 8:09am    
Your comparison of a coal mine with learning is really great. I love it! My virtual 5.
Sergey Alexandrovich Kryukov 4-Apr-16 12:45pm    
Thank you very much, but, frankly, I picked it up somewhere, and probably this is a widespread comparison. I also remember the speech from a movie, where one character admits his role in science in such words, approximately: "The scientists are classified into those who break trough rock walls, and those who pick up the fallen stones and work with them. And I'm the one from those who pick up."

I think it's important to understand that both types are valuable in culture...

But when it comes to individual learning, each individual should do both, in one's own style and strategy, and nobody, absolutely nobody really helps to get to real results. Lecturers only show the right scope and "set the plank", show expected level of knowledge. And the examinations are more important then lectures...

—SA

1 solution

I´m sorry to tell you but there is no way you can learn to code and solve any problem anyone give you.
Programming is too broad.

C# and .net is great.
Asp.net, Unity - Game Engine and Xamarin broadens the horizon (heard rumours about microsoft opensourcing xamarin).
You can do websites,mobile apps and games in a productive way with C#.

Even if you learn C++ you don´t know everything C++ has to offer.
There are tons of APIs and to be honest, Opengl API + glsl is harder to learn then C++ itself, just to name one.

If you pick a language and learn it you are only halfway there.
"Learning" never stops and you have to deal with new APIs constantly (technology evolves really fast).

Do some soul searching and find out where your passion is and just go for it.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900