Requirements for Developing a software/application

Hi all, I wasn’t sure where to ask or whom to ask this, so I figured it would be best to place it here. That being said, my apologies if it is the wrong thread and/or not he best way to do so.

I have been learning Python and so far I have been enjoying it, however, as I have browsed through the code academy website, I haven’t been able to see any particular course or aggregation of courses that teaches you how to actually create an application. By this I mean, some form of breakdown were we (the students and learners) are shown the process or system used to take an idea and make it practical by means of coding.

Many of the courses in code academy are single language courses where you learn the syntax and the “how” of the language, but it feels as if we are still limited when it comes to being able to bring a project to life. I personally feel like there’s even more that needs to be learned in order to be able to do that, but the information might not be here in code academy.

Maybe I am just getting ahead of myself or haven’t truly seen all of the courses on this website, or perhaps I haven’t reached those levels yet. I don’t know. I just want to share the thoughts and see what any of you has to say.

I just feel limited in a way, I am learning Py with he intention of developing a language application, but there are so many aspects that go into the full creation of a software that no matter how much I might learn about coding (Py in this case), I feel like I am still in square one.

2 Likes

Hey there,

What exactly do you mean by “a language application”? Something like Duolingo?

I’d say you’re mostly right, although some courses do teach you how to get started building for the web.

But even going through those, you’d still have to do a lot of figuring things out by yourself, outside of Codecademy. It’s part of the learning process.

Definitely Learn Ruby on Rails. After taking this course you can get started with Rails on your very own project. But you’re into Python, and said you’re still in the process of learning it, so this is what should matter at the moment. Learn everything you can about Python first, and then (either):

  • Wait for Codecademy to release the Build Python Web Apps with Flask course
  • Learn how to set up and use Flask by yourself
  • Aim even bigger and learn Django by yourself
  • Choose another Python framework, like Web2Py, Pyramid, Tornado, or another…

Regardless, you’ll have to Google how to do most things, search StackOverflow for answers, etc.

Road is long but worth it. Get out of your comfort zone. Enjoy the process. Never give up!

2 Likes

Thank you for the prompt reply. If I am honest with myself, I don’t know 100% what it is that I actually want to do, since there are so many ways to go about it.

I am your typical “I have no code experience whatsoever” type of person, with the exception of basic html and css. I chose to learn Py because it is a very useful language and it is great as an entry drug, so to speak, to the coding world.

I believe I want to focus on developing a web a application, but like you said, there are many options to do just that, and that is where the confusion arises.

Based on your experiences, do you believe it is adequate to continue with Py and then move on to some of its frameworks, or should I try to learn something else like ruby for instance? (I am also staring the webdev classes to refresh what I know and get a better grasp of JavaScript)

Thank you for your time, and pardon my own confusions!
[Also, what I have in mind is not like Duolingo per se. I would be happy to explain the basic idea of it, so that you have a better understanding of what I am aiming for, it that’s alright with you.]

Hello @data0450901425 :grinning:

Python is adequate to do many applications, since it has so many modules like pygame it can be used for a number of things.

https://www.pygame.org

However it does have its limits, especially being such a high level language, learning other code languages will be very helpful to you as a coder.

If you are wanting to do a web application, than learning HTML, CSS, JavaScript, and several of the other languages used for web designing are a good idea.

Of course I am not saying do these all at once, as learning multiple languages at a time does not always work well. Then again you may be able to learn like this, it varies between people.

1 Like

It’s perfectly possible to develop web applications in Python (I should know, I’ve done it).

Two of the “big names” in Python web frameworks are Flask and Django.

Flask is good if you know pretty much what you want, and want a small extensible framework that you can expand to meet your needs with no additional cruft or unnecessary extras.

Django is the opposite, with a load of functionality already there out-of-the-box to save you some work.

A good example of this difference is that Django includes the necessary code to safely deal with user authentication out of the box; Flask would require you to either write this yourself as a Blueprint, or find an extension to do it for you.

If you decide to go down this particular rabbit hole, I would recommend the MDN Django tutorial over the “official” one on the Django docs.

I’d be inclined to say that if you’re already learning Python, stick with Python. It’s a pretty good language, and can be applied to a broad range of uses.

Ruby, in comparison, is a bit… awkward, to put it nicely. If you were to decide you wanted to write a web app, but didn’t want to use Python for it, I’d probably suggest PHP as an alternative rather than Ruby / Rails.

5 Likes

It really does come down to personal preference though, @thepitycoder

I’d never use Python myself for a web app, much prefer Ruby (if had to choose between the two that is).

That being said…

My answer would be:

3 Likes

For sure, world would be very boring if everything was done the same way. :smiley:

For the most part, I only started building things with Flask/Django because I’d started with Python and didn’t see the point in switching out to something like PHP if I could do what I needed with Python and a framework…

(I’ll probably take a look at RoR at some point, though quite a lot of my time is being spent with Kotlin and Android Studio at the moment… but I digress…)

3 Likes

Thank you for your input @8-bitgaming, Is much appreciated!

1 Like

Thank you for your input @thepitycoder hank you for your input @, Is much appreciated!
Question though, correct me if I am wrong, but PHP is a back end language is still useful to learn regardless of, since it is needed for a variety of applications as well as web development, right? For whatever reason I have always seen it as a back end language and never as a regular “normal” language like Py.

Well you don’t necessarily have to learn it if you don’t plan on using it.

Say you wanted your app to be written in Python, you wouldn’t have to resort to learning PHP at all.

I don’t think PHP has much prevalence outside of web development.
But if there’s one thing that PHP does really well, it’s being a great back-end language for the web.

It’s kind of lost its appeal to numerous web devs (which I won’t be getting into right now…), but it’s still very popular mostly because a big part of the web still runs on PHP.

Facebook was built with it (now turned Hack, a dialect of PHP).
Wikipedia.
Yahoo.
Many others.
And, of course, WordPress. This one being the main reason PHP is still “popular” (good, and bad).

It’s my language of choice, always has been, and although it’s not perfect, it’s pretty good at what it does. But it’s definitely not a de facto requirement.

If you like Python, though, stick with it, it’s a good choice. Besides, you’ll also have to learn HTML, CSS, JavaScript, and several other things to get your web app running.

My two cents :wink:

3 Likes

I think I have a better Idea now. Thanks @ghostlovescore !

1 Like

Make that four. :+1:

5 Likes

There is a new thing where Wix partnered with Codecademy and they assist you on making a website (you still have to pay for the domain lol)

yeah HTML is the main base for a website you should first exell in that