General question | Sololearn: Learn to code for FREE!


General question

Recently my friend told that he will make his core language as python and Java. We are CSE students at our 2nd semester. He told me to consult a senior to decide which language I should make my core language. But I think it doesn't depend on the language, but rather on our problem solving skills. I think I should be learning many languages to expand my mind around programming. So, I need some advice from experienced developers about my future career in software development. Should I make one language as my core or learn many languages with equal effort? PS: excuse me for any errors in my English:)

6/2/2021 2:48:19 AM


17 Answers

New Answer


On a more serious note. The problem solving an logic skills are more important than than the specific language used. Unfortunately, the two cannot be entirely separated. It's a sad fact that many modern educational institutions do not teach students to think. They tell them how to solve stock questions with stock answers. All you have to do is remember, not think. This has the disadvantage that when asked to solve the same problem using a different language a student is left clueless. Learning too many languages at once just becomes confusing and does not give you sufficient time to learn the nuances of each during your course. If you have any doubts talk to your course mentor rather than taking advice from random people on the internet; that includes me.


There is so much truth being spoken in this thread that's reflective of how unprepared many CS graduates in a certain market with a curriculum that's out of touch from the industry or anything promoting independent / innovative thought. Despite there being a massive labor force in said job market, it's alarming how few and far between we're able to find quality candidates with the most basic technical skills and aptitude for learning to be considered for our teams. Even those considered to be senior developers with 14 years experience are really just 1 year junior developers 14 times over. These system wide curriculums are failing generations of software engineers by not focusing on critical thinking skills and sharpening an intuition for programmatically solving problems and implementing solutions. The years of failed institutionalized education is alarmingly more apparent with the abysmal lack of resourcefulness reflected by so many low quality questions that overwhelm this community.


It never ceases to amaze me the unfounded belief that Python is akin to the second comming of the Messiah. "Python is new!" "Python is hot! "Python is the future!". The truth is Python has been around for longer than both Java and JavaScript and has failed to make the market penetration of either by a large margin. Python has also been around for a decade longer than C#. On the server side Python only has 1.4% of market share, that's currently the same as JavaScript. The more important statistic is Python is on the decline server side while JavaScript is on the rise. A lot of the noise and web traffic driving Python's popularity is, I believe, from youngsters who enthusiastically rave about it because it has a low barrier for entry. A consequence of this is that learning sites pick up on this trend and promote courses (paid and unpaid) for it. This increases the volume of traffic to the point politicians, who know nothing about programming, get told about it by their aides. This results in rash decisions to "Teach Python programming in schools" because it's kewl and trending. Yet a very small percentage of software is actually written in Python. In true governmental tradition this results in students being taught how to write "hello world" using Python and students figuring out how to write "bum" on screen in an infinite loop. Meanwhile, the teachers haven't got a clue what they are doing with the botched syllabus, converted from a Turbo C syllabus, that they were given a one hour training session on before having to teach it. That children is how policy gets made.


Python is love. Python is life. Python is happyness. *sarcasm intended to counterbalance Martin Taylor* Seriously, I like Python, but it does have its limitations and flaws, often overlooked by enthusiasts, that can eventually bite back later in a serious project. However, why would big tech companies like Google, Facebook and Microsoft invest so much in Python, if it were absolute garbage? It does have its uses in many areas of software, especially exploratory data science. Maybe another theological debate can follow, if data scientists can even be considered as software developer / programmer or not. When I started using SoloLearn, I began with Python. Since then it has moved back to my 4th favorite, after Clojure, Kotlin and Scala. Maybe it's not obvious from this, but my recommendation for Rishi is to learn Java, because that will open the way for other, maybe more advanced JVM languages.


Tibor Santa, I have to agree with you. Python is a scripting language like so many others. It has its strengths and weaknesses. For me personally it offers nothing new that I can't do in one of the other languages I already know. That's the issue. for a language to displace other languages it has to offer significant benefits or features over existing languages. Python garners the same fervour and criticism as BASIC used to. The low barrier to entry made it popular on home computers of the 80s. The problem was people who had no idea about data structures, algorithms, or software design were cranking out horrible code to the point where one computer scientist commented "It is impossible to teach programming to BASIC programmers. They are damaged beyond repair.". A similar comment could be made regarding Python. As far as Python being particularly good at AI I see no proof of this. It's just another part of the Python hype. There is nothing in the design of Python that make it more or less suitable for AI development than many other languages. Before any Pythonista fanboys start screaming about "the libraries" please note that many of them are written in C/C++. You would think that having been around for 30 years there wouldn't be many AI problems left to solve if it was that easy using Python. So be careful about which language you decide to make your core language Rishi. Jumping on the hype bandwagon may not be the wisest decision.


Hopefully, the people in this thread are the exception and we're just preaching to the choir. 😉


I am not a expert but according to me you have to learn problem solving skill rather than learning many languages .there are may be 6-8languages that are recommended to learn ,but I think all of them having same basic logic like all have for loop ,oop one language and learn problem solving that's the better choice 👍👍


Focus on one language. If you're looking to make a actual career out of programming, then Java may be the better of the 2 to learn proficiently, depending on the specific type of programming you want to do. If your leaning more toward data science, then choose Python. Use this 1 language to learn the more advanced topics such as threading, concurrency, parallelism, data structures, design patterns, advanced algorithms, (trees, dynamic programming, bfs, dfs, Big O, etc). Become as fluent as possible in the language learning beyond just its core uses and methods. Maybe even get genuinely certified in that language (not just a SL certificate). For Java get certified through Oracle. You may also want to learn some additional libraries (Collections, JDBC, Cryptography, Serialization, etc) and/or frameworks (such as Spring, Spring Boot, Hibernate, etc). Look into 3rd party libraries and frameworks as well after learning the Java core libraries and frameworks.


@Martin Taylor "A consequence of this is that learning sites pick up on this trend and promote courses (paid and unpaid) for it." True. Look at the SoloLearn courses - Python for Beginners - Python Intermediate - Python Core - Python Data Structures - Machine Learning (through Python) - Data Science (through Python) Do we need these many? I don't think so. Do other languages have a "for beginner" or "intermediate" course? No. Why the special treatment to Python? I think the reason's pretty clear. It is my prediction that the next language with these many courses would be JavaScript.


Oh thank you all so much. Now I have an idea and I'll figure out what's best for me. I appreciate all for taking the time to consider this question. Happy Life!


@Rellot's screwdriver. Oh I've been around for more than 30 years for sure. Eight months short of Double that. Web browsers had not been invented when I started programming. All you youngsters with your new fangled interweb language thingies. What's wrong with assembly language, Forth, and PL/M? Spoiled with your fancy IDEs, we used edlin in my day and we were grateful. It was a step up from flipping switches on the front panel and pressing a button. Now get off my lawn.


Martin Taylor As a follow up to the posted question... for you, as one of the few professionals in this community who makes my 25 year career seem like I'm just getting started 😂🤣... Do you find yourself still preferring your original core languages over the new crop of languages that emerged in the 90s through early 2000s? Or are you more language agnostic and open to working with any language as needed? Given the choice to actively drive development with a new project, would you prefer a project reflecting technologies from the first or last 10 years of your career? Which technologies would you choose? Again assuming there was a project for all possibilities to work on. Finally, if you could pick the decade you could have started your career, would you remain with the time you began or was there another period in time that you thought would have been more ideal? Feel free to NOT answer. 😉


Martin Taylor I realize I misunderstood that part. i thought you meant you're being around for 30 years.


"Having been around 30 years" Martin Taylor correction: it's 40 years and you're in 2021! joke aside, ahh, and Now python fanboys will try to defend themselves... which... is not good which will it end up being a debate...


Martin Taylor oh okay thank you for your comment. I too decided the same. I think I'll explore some languages deep and baise more towards solving problems using those languages rather than just learning them


@Rellot's screwdriver, I thought Python appeared in 1991? According to Wikipedia: "First appeared February 1991; 30 years ago". I know I'm going senile in my old age but I'm fairly sure Python is 30 years old. Or is that date wrong?


Ayush 😲 okay. What's js and ts?