• Guest, before posting your code please take these rules into consideration:
    • It is required to use our BBCode feature to display your code. While within the editor click < / > or >_ and place your code within the BB Code prompt. This helps others with finding a solution by making it easier to read and easier to copy.
    • Don't share a wall of code. All we want is the problem area, the code related to your issue.


    To learn more about how to use our BBCode feature, please click here.

    Thank you, Code Forum.

Flutter or Swift or python

ammara

New Coder
Hey, I am in 4th year of my college degree and i have learnt C++, python, java, html, css and JavaScript but i am still not able to build a project with any. I have a long list of fail stories. Once, I wanted to go for app development so i started learning react native but while learning i realised that my js isn't strong enough so i looped back and gave up in the end. Then i started learning python but when i finished the basics i didn't know the next step. I couldn't figure out how and where do i have to apply everything i learnt so i gave up. Then i took a course for web development but gave up because i didn't find it as exciting as working on android studio. Building android apps was really fun and i enjoyed it but i couldn't continue because i heard it's not a high paying option. Now, I want to learn flutter/swift/python but i cannot choose one option. Please help me choose one of these and guide me about how to start and really learn it for the sake of building projects. I don't want to give up in the middle this time 🙏
 

BorkedSystem32

King Coder
Hello there, @ammara.

First: pick a language you really like and stick to learning it. You claim to have "learned" C++, Python, Java, HTML/CSS, and JS. However, have you really learned it if you have not mastered it? Have you really learned it if you have not made a half-decent attempt to apply it? It's the same with learning a real language: you need to go beyond the basics(common words/phrases), learn the advanced stuff(verbs, sentence order, asking questions, etc.), and combine all of the basic and advanced stuff together to be able to talk to and understand someone. That is how I see it: you haven't truly learned something if you cannot apply it, because it shows that you most likely do not understand it and do not know where in life it would come in handy(think of trigonometry: don't know where you would use it, but if you wanted to study architecture, you would be using it day in, day out - it's came in handy for then).

Once that's done, learn the essentials of the language. Using C, you would learn: variables and arrays, control statements and loops, functions, structures, pointers, memory allocation, file I/O, and even many parts of the C standard library. Stick to a path and learn as you walk along that path. When you learn something new, then follow some exercises or small projects which apply these in practice - this will help you to build up an understanding of it better and you'll get an idea of where to apply it on your own. You cannot learn without doing, because we humans are molded by experience. As another tip too: analyse the code of others - it'll help you get an idea of what makes "good code" and what makes "bad code".

After you have became somewhat decent with the language, just go and find a project. There are many lists online to help give you ideas, you can go on GitHub and search for projects to contribute to, or you could even take inspiration from a project or even fork it and ask yourself "what would make this better?" Just stuff like that to get you started.

In regards to your options, I would pick Python. It's an easy language that is very flexible and comes with many APIs, libraries and frameworks to help you build projects, a plethora of documentation and tutorials to help you learn, and a thriving support community to answer any questions you may have. Python can run on any computer and can do practically anything: automation, data grabbing, web servers, machine learning, data analysis, you name it. Swift is only limited to Apple devices and you pretty much need an Apple computer to be able to build apps with it(XCode). Flutter isn't a programming language either: it's actually "an open-source UI software development kit" - that tells me it isn't really worth learning unless you want to get into designing portable and flexible UIs.

Hope this helps!
 

ammara

New Coder
@HadASpook
Thank you so much for all the guidance. I would go for your advice and start with C to grasp my basics. Although I am still confused about python because it has so many directions but I'll worry about it after clearing my basic concepts.
PS What are your thoughts about react native? And Thanks again <3
 

BorkedSystem32

King Coder
You're welcome, @ammara.

C is a good language and many beginners picked it up when it was fresh on the block in the 70s and 80s - nowadays though, despite being the father of nearly all modern languages, most people pick Java, Python, JavaScript, C++ or C#, despite their similarities to C. Not that C is a bad language to start with, but some parts of it you may find tricky to understand, especially as a beginner - of course, you claim to have learned C++, Java, and what not so I doubt you'll have trouble picking up C.

Brush up on your Python first and when you've done that, just experiment! Python has a plethora of great APIs, libraries and frameworks to work with: NumPy/SciPy for numerical computations, PyGame for video games, Django and Flask for web development, and TensorFlow for machine-learning. Just toy about with them, have a quick scan over their manuals and tutorials, and see what you like.

React Native, I have never used, simply because it's a Facebook product(and I refuse to touch anything made by them). Not only that, I don't work with JavaScript and even looking at some examples of JS or React Native, I refuse to touch it: I prefer the cleanliness that C has over the messiness of web languages(although C can get messy too if you don't know what you're doing in it).

Happy to help! :)
 
Top