Need advice about which tool to choose?Ask the StackShare community!

AngularJS

60.2K
43.3K
+ 1
5.3K
Python

238.6K
194.7K
+ 1
6.8K
Add tool

AngularJS vs Python: What are the differences?

Key Differences between AngularJS and Python

AngularJS and Python are both programming languages that are widely used in web development. However, there are several key differences between the two.

  1. Language Paradigm: AngularJS is a JavaScript-based front-end framework, while Python is a general-purpose programming language that can be used for both front-end and back-end development. AngularJS follows an event-driven and object-oriented paradigm, whereas Python follows a procedural, object-oriented, and functional paradigm.

  2. Syntax: AngularJS uses HTML templates with added directives and expressions, making it easier to build dynamic web applications. Python has a simpler and more readable syntax with a focus on code readability and conciseness.

  3. Community and Libraries: AngularJS has a large and active community of developers, which results in a wide range of available libraries, modules, and plugins. Python also has a strong community, but it is more diverse in terms of application domains, providing libraries and frameworks for various purposes such as web development, data analysis, machine learning, and more.

  4. Development Speed: AngularJS provides a rich set of tools and features specifically designed for web development, allowing developers to build web applications quickly. Python, on the other hand, offers a wider range of applications and is often used for more complex projects, which can require more time for development and setup.

  5. Functionalities: AngularJS is primarily used for building dynamic web applications with a focus on user interfaces. It provides features such as two-way data binding, dependency injection, and modular architecture. Python, being a general-purpose language, can be used for a wide range of applications, including web development, data analysis, scripting, automation, and more.

  6. Learning Curve: AngularJS has a relatively steeper learning curve compared to Python, mainly due to its complex architecture and the need to understand JavaScript concepts. Python, with its simple syntax and ease of use, is often considered more beginner-friendly and easier to learn.

In summary, AngularJS is a JavaScript-based front-end framework with a focus on web application development, while Python is a general-purpose programming language that can be used for various purposes. While AngularJS offers a more specialized and rapid development experience for web applications, Python provides a wider range of applications and is considered more beginner-friendly.

Advice on AngularJS and Python
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

I am new to programming and am a university student. While Computer Science is not my area of study, I am majoring in a subject that branches off computer science and health informatics, which deals with databases. I am currently in a programming fundamentals course at my university. My instructor mentioned that he develops in Java, but I have heard many good things about Python and JavaScript before taking his course; while we are only doing the fundamentals, I believe he is teaching us some in Java.

Since I am new to this, I'm not sure what I like more. I have also been self-teaching before this course but have not gotten deep into a particular language's fundamentals. I want to decide on a language and stick to it before I move to a new one after the first language is learned, but it is difficult deciding which language to start with. I want to develop medical software and medical mobile apps.

See more
Replies (10)
Dimelo Waterson
Recommends
on
JavaJava

There's a reason many universities start with Java- it has strict rules and lays out code in a straightforward (if excessively-boiler-plate-heavy) way. For a beginner, Java is an excellent way to learn the fundamentals of programming before taking off the training wheels and continuing in more flexible, less-syntactically-rigorous direction like Python or JavaScript.

Sticking to a language before moving on is a common goal. However, in reality you are going to transition as you find languages that better suit you or your organization's requirements. Start with Java, not because it is optimal for your end goals, but because it will teach you what you like and dislike about programming and because your instructor is more familiar with it. That will give you a valuable perspective and allow you to make a more informed decision later.

There are many ways to solve problems in different languages, but the "best" language pragmatically is the one that you feel most comfortable using. In that respect, programming is like woodworking- you want to let the tool do the work. If there is another language that is "better" objectively but more difficult or confusing to you, you will counteract the anticipated benefits by having to struggle to write code.

See more
Recommends
on
JavaJava

The only way to solve this problem while avoiding opinions and tastes is to objectively look at what you are trying to build.

Thus the most efficient part of your question is your last sentence: you want to build medical software and medical mobile apps.

In that case, the answer is definitely Java, as is for all "real" software projects.

Python is good for data science, in other words for statistics. Its other competitive advantage is that it is easy to learn for beginners, but that would be a bad reason to use it for a "real" software project.

JavaScript is a mess you don't want to get into. The major reason why it's popular is that many people learn it first, because its very basic features are easy to learn, although they don't get you far, and because it used to have exclusivity on the web. But in reality it will make your life a lot harder after a few weeks, without any benefit. I know I'll get criticisms for that, but I stand fully by this position.

See more
Taimoor Mirza
Associate Software Engineer at Intech Process Automation · | 4 upvotes · 191K views
Recommends
on
JavaJavaPythonPython

Since you're already taking a CS course which involves Java, I would recommend you to keep learning it. Java's statically typed & OO nature forces you to learn a lot of important yet common programming fundamentles. C++, C# and Java type languages also force you write code more carefully (you have to think about the data types on your own and even allocate/de-allocate memories [C++ pointers]). That's why colleges prefer it as go to language for teaching CS concepts.

On the other hand, JS, Python and other such languages are dynamic in nature and hence, easy to learn. But you can't learn certain concepts (polymorphism, abstract classes, diamond problem etc) using these languages. So it makes sense to stick with Java in your case.

See more
Recommends
on
PythonPython

try with python because easy ... its good for u when u are learning basic's and they have many library that help's u with mobile app and desktop application but it is not the best ... when u are learn programming will with python then start with js basic's and then (react native) or flutter and also u can use java for mobile development bur i recommend first choices ..and for Desktop application java is have an amazing library (java fx ) for this type of application's and C# is one of most powerful language's for software development . good luck

See more
Recommends
on
JavaJavaPythonPython

While I've seen many people recommend Java (and I agree with them), I think you can learn both. But it depends on how much time you got. I recommend you first learn Java. Then python will be easy to learn, and focus mainly on modules for graphs. The reason why I recommend to learn both is because python is much better and easier to code about statistical analysis. But again do this only if you have time to just learn them.

If your project doesn't have anything to do with statistics and data analysis (I'm pretty sure you do though), learn only java. Also if you are wondering why I never mentioned JavaScript (JS), it's because i really don't recommend it. JS is much harder to learn and requires a lot of lines of code to do simple things.

See more
Recommends
on
JavaJava

Since your instructor is using Java, i'd start with Java. If you want to get into mobile development, I'd check out flutter / dart. Good luck!

See more

My advice to anyone learning to program is to not obsess on the language.. You SHOULD learn all languages.. Same as learning human spoken languages - the more you learn, the more ways your mind can interpret a new problem set. Learning them at the same time isn't a big deal (just like growing up in a bilingual home). Your language and your software stack are guaranteed to change 3 times in your career. Don't assume you're going to choose the "right one". And you wont waste any time learning one you never wind up using.

As a person who works on linux and OSX desktops, I have a personal bias against working for companies and software stacks that require C# or Visual Studio. But this is not due to their technical merits, but instead the OS as a platform condusive to efficient CLI toolchains and container management. But aside from that, I can use vi/IntelliJ-suite to write most languages, so language isn't a real concern. If you're windows bound, pretty much everything is available to you (through VMs and docker).

Ideally you do at least SOME full stack development learning. This means you'll need javascript, and thus nodejs would be a good stack to learn. If you ultimately like gaming or 3D, you might need C# and certainly python.

Any AI (which is a hot employment topic for the forseeable future) would like python skillz.

I personally love Java (and Android's Kotlin varient) for it's very very well designed multi-threaded libraries. go and rust are newer and thus do a slightly better job at this, but due to the open-source nature of java and editors that auto-reveal function call source code, it's very easy to learn how vendors implemented MT code and various other algorithms. Python should be equally "open" to 3rd party library review (and thus again how they solve complex problems), though a lot of times, I see python resorting to compiled C-libraries (and thus the cost to crack open the code and or trace through the code becomes too burdensome to bother).

See more
Srikanth Gopalakrishnan
Founder at TheDatingClub · | 2 upvotes · 193.5K views
Recommends
on
JavaJavaPythonPython

Although java seems to be a good fit for you. It is a cumbersome language to get started out. It will be far easier for you to learn Python and stick with it long term. This is due to the fact you will be easily able to google things for python and you will spend less time learning the language, and more time using it to do what you want.

Making mobile apps is easier with Java due to the fact that google does not directly support app building with python. If this is your biggest priority stick with Java.

Javascript: This language is the best language to learn if you are making a website. However, for easy of use you can do all the database access stuff with python. And send back the data to your website. Javascript is also another cumbersome language in my opinion.

Each language has its use. If I were In your situation, I would choose the language that's easy to start with.

See more

There is always trade off between them. If you want to make mobile app JavaScript is better. I suggest start the one you feel more close and learn all of them :) You are quite young you have enough time for them.

See more
Recommends
on
JavaJava

It would be great if you first go with Java. It could give you complete understanding of programming concepts. Such as data types. Later you can move to Python , which is great for data processing and Machin learning stuff.

See more
Needs advice
on
LinuxLinuxPowerShellPowerShell
and
PythonPython
in

I currently work helpdesk and have been for about 6 years. I am looking to become more valuable, and I can't decide what route to take? Python is of interest, and so is PowerShell. What are some recommendations? Maybe something that would benefit a helpdesk position or even get into a network administrator.

See more
Replies (5)
Bryan Rodriguez
Cloud Engineer at Alteryx · | 8 upvotes · 93.1K views
Recommends
on
PowerShellPowerShell

I think that if you plan on sticking around enterprise systems and Microsoft, you should definitely get into some PowerShell. Basically anything you do via Active Directory, you should try mirroring it in PowerShell. It’s an easy one to learn, and it’s easy to follow that into Azure CLI. I was in the same boat as you — Did Helpdesk/System Administration for 10 years. PowerShell got me out.

See more
Jan-Henrik Damaschke
CTO, Senior Cloud Architect at Visorian GmbH · | 6 upvotes · 93.7K views

I would also recommend PowerShell! Since I started learning PowerShell, a lot of possibilities opened up for me, I even became a PowerShell MVP. Since PowerShell Core/6/7 it has gotten a lot of interest in the Linux community and I love it for it's flexibility and possibilities only limited by your imagination ;) Check out the community dashboard to see the current usage https://aka.ms/PSGitHubBI, check out the PowerShell docs at https://docs.microsoft.com/en-us/powershell/scripting/overview?view=powershell-7, especially the "Learning PowerShell" section and feel free to contact me for further questions!

PS: Just to be complete on this, I also use Python, but in a very different scope. Python in my opinion is the best for data analytics related tasks or even whole production (web) applications (e.g. with Django). PowerShell is great for automation, orchestration and all the little tasks that makes your everyday life easier.

See more
Recommends
on
PowerShellPowerShell

Definitely PowerShell. While you can do network related stuff with python, powershell gives you an in-depth understanding of various parts of the internet. This is because you manually execute each and every step, while in high end languages, you just use 1 or 2 commands. While powershell might take a bit more time, it will be really useful to understand networking and will give you a considerably high boost in terms of your career too.

See more
Steve Barnes
Lead Software Tools Engineer at Leonardo UK · | 2 upvotes · 83.6K views

I would recommend learning to use both python & power shell (plus Linux/WSL) by using them to do aspects of your current work better/faster/easier. You will definitely benefit from reading https://docs.microsoft.com/en-us/windows/python/scripting.

I would suggest taking a look at https://automatetheboringstuff.com/ - with a little thought I am sure that there are aspects of your current role that you can simplify or enhance by following the suggestions & doing so will give you valuable experience and may result in offers of more interesting roles growing from your current one.

See more
YASSA BARAKAT
Recommends
at

Hello, how are you, my friend, I needed help learning Python. If you can help me, I will be very grateful to you.

See more
Needs advice
on
Node.jsNode.jsPHPPHP
and
PythonPython

Hi, I have a project on my mind, and I need some help. First of all, I know it is all about personal preference, but I am a beginner in the back-end part. So, I am trying to figure out which language is better, for example, for user authentication and interaction between the users. Also, I don't know which framework is better for this work. My first thought was to use PHP, but after some research on the internet, I'm leaning towards Laravel. I will be grateful if you have some advice for me.

#newbie

See more
Replies (7)
Recommends
on
Node.jsNode.jsPHPPHP

First thoughts: * As a beginner you need to understand concepts first, all languages out there are great, each has it's own philosophy, each is better suited for a specific situation. Learn concepts first, do something, then you will understand the differences between them and why one should be chose over another for a task * As a project manager you want your project to come to an end. You will get lost in all the different solutions out there (and it's good), but don't get lost too far. Very often I see people getting lost in those debates and never achieving things, like someone writing a book that would still be choosing the font 6 months after (we've all done that it's ok, but we have to realise it)

Chances are your project can be equally good on any different stacks. I heard an interview of someone from Uber who said something like they started with python, went to node, went back to python and went to go, and with micro-services now they can have all of them all-together.

Last remark: from what I know Laravel is a framework for PHP, so it IS PHP. Just like Symphony for PHP, Express for Node.js, Koa for Node.js, Flask for Python ...

Now to answer your question :

  • PHP has a big community, it is great and easy to start with, and you will definitely will learn real object oriented structure
  • Node.js has a big community too, don't worry finding help will be as easy. It is less easy to start with but in my point of view it is a lot easier to keep on going with it on a long run. Why ? Because it's very easy to run a new project, and it executes javascript. How is it good ? Because chances are that your front will also be using javascript (React.js / View.js are crazy good). Thanks to that you will be able to master the language better because you will use it all day (and at first mastering one language is more valuable than barely knowing two) and you won't have to switch languages in your head when you code. And communication between front and back will be in json ... Which is crazy close to javascript.

Alexander is right, if you go with PHP take your time first to do things by yourself like building your own MVC, the benefit is huge and the risk is to never really be able to understand what's happening on a deeper level. (at some point you can switch to a framework though). He's also right on choosing a strongly typed language, problem is javascript is not. This is why, if you choose node, when you start being confident, add typesccript.

Hope it helps, good luck

See more
Octavian Irimia
Recommends
on
PHPPHP

Short answer, if it's a web project (and I guess it is) go with PHP and you can integrate NodeJs services later.

@adzaria (Ezra Fayet) gave a great answer and I'd like to emphasize the first part: As a beginner you need to understand concepts first. For me that means to understand the web, how servers and requests work, APIs and few others.

Now, I'd like to add few things so, this is the long answer:

Why PHP?

  • Everyone knows about the community - PHP is way older so you will find lots of resources and I am not only talking about learning - also lots of helpful tools and packages
  • PHP is great for OOP - not perfect, but with PHP7 got great - and if you are a beginner you want to know good OOP for your future. Let's say JavaScript's OOP is a bit strange; I will not get into details but, let's say "it's not by the book". You can still learn JavaScript for your front-end

Why not Python? Python got popular because of AI - don't use PHP for AI and don't use Python for web applications. I can elaborate a lot here but I guess you get the point.

Why not NodeJs?

  • NodeJs got popular because of sockets - and it works great, but as a service
  • Try to find a good and affordable hosting for NodeJs. How about for Python?
  • I would not ignore the security issues that it had and could appear. PHP is older and, therefore, wiser :)

Now, about a framework... is this a learning project or something that you need to do fast? My advice is to start a small project and not use any framework. However, you can use packages and inspire from a framework's architecture - Laravel is a good role model.

Why not start a big project? You will get distracted, get into details and product design stuff and get scared or border and abandon it. For your project you need an MVP - list of minimum required features that you put on paper - that you will complete. After that you can improve.

Good luck!

See more
somes kumar k
Member Technical Staff at Manage Engine, division of Zoho Corp · | 3 upvotes · 335.4K views
Recommends
on
Node.jsNode.js

you can choose Node.js Here are my points

Node.js is build over chrome’s v8 and its works on non blocking io. Node.js have huge community and great packages (npm) to help you out in most cases and makes development faster Node.js has been adopted by many multi dollar company Hope this helps😊

See more
Alexander Santos
Fullstack Developer at 3CON · | 2 upvotes · 331.2K views
Recommends
on
PHPPHP

The reason why i chose PHP is the amount of content you can find on the internet easily. As you quoted being a beginner, i think a more mature language would be better. And that's also another reason for following with PHP.

Python is simple and "mature", but it can be a bit hard to understand if you are a beginner. Python relies on heavy abstraction, and that's the reason behind it's simplicity. Python is an "easy to play, hard to master" language, i never recommend it to beginners. Also, one [maybe personal] reason why i don't like to use Python as back-end is: Python is very data-focused. So if your app has focus on business logic, Python wouldn't fit very well. And with that becomes an advantage, if your app has statistical focus, being data-focused or something like that, Python has huge advantage among all other languages due to many great tools the community has built.

About Node, it's like PHP, but less mature. It's as easy as PHP to find tools that can help you, for example, to abstract the database-connection's logic. But to find architectural-focused content, more advanced concepts, it's a lot harder. While that, Laravel's community, for example, has a lot of materials that involves those concepts.

Still, if you are really a beginner, i don't recommend using Laravel with PHP. Do things on plain PHP first, understand the reason behind using frameworks and Laravel's motivation.

Also, consider a strong-typed language first, those are considered more didatic, but less flexible.

See more
Recommends
on
DjangoDjangoPythonPython

I have used Laravel, but with Django you can develop faster, as authentication and admin panel are configured out of the box. It users SQLite by default and you won't have to worry about the database in the begginning

See more
Recommends
on
Node.jsNode.jsPHPPHPPythonPython

You cannot choose between Python | PHP | NodeJS Since they are entirely for Different purpose.

In Bird view

Python - Large Scale Projects and if you want a job in big IT company.

Node.JS - Huge computing projects and if you want job in Silicon valley startup.

PHP - Cost Effective and If you want start a business in near future.

See more
Tarun Batra
Senior Software Developer at Okta · | 2 upvotes · 323.8K views
Recommends
on
DjangoDjangoPythonPython

Python, PHP and Node.js all are capable of being used to create good complex software. There are many examples of similar applications built on all of them. If I have to pick one, I would say consider Python and Django. It is fairly easy to develop web applications on top of this stack. Scaling and maintaining the application should also not be a problem given a lot of resources are available online.

See more
Kamal Makroum
Needs advice
on
JavaJavaPythonPython
and
ReactReact

Hi everyone.

I am willing to build a used car sales platform, which will have a lot of stock/photos and will rely a lot on the back end functions and data generating. Java seems to be a good choice, but what other options can I consider that can also be easily scalable as well as a little faster to write?

Thank you

See more
Replies (2)
Recommends

Firstly, you must know that java and python are both amazing languages. But I recommend python mainly because of the variety of modules and packages available to do almost anything. If you are planning on adding graphs, you can use the matplotlib library and to add photos, use the pillow module. And just note that both of these aren't available by default, so you need to install them through pip.

See more
Ruslan Rayanov
Recommends

Hi, Kamal! I don't know if your question is still relevant. But I would like to introduce you to our solution, perhaps it will be useful for future projects. We have developed a web application constructor that can be used to create almost any website or application https://falconspace.site/. The entire development stack is reduced to SQL only. The platform is easy to configure and make subsequent changes if necessary.

See more
Needs advice
on
JavaScriptJavaScriptPythonPython
and
RustRust

So, I've been working with all 3 languages JavaScript, Python and Rust, I know that all of these languages are important in their own domain but, I haven't took any of it to the point where i could say I'm a pro at any of these languages. I learned JS and Python out of my own excitement, I learned rust for some IoT based projects. just confused which one i should invest my time in first... that does have Job and freelance potential in market as well...

I am an undergraduate in computer science. (3rd Year)

See more
Replies (3)
Recommends
on
JavaScriptJavaScript

I would start focusing on Javascript because even working with Rust and Python, you're always going to encounter some Javascript for front-ends at least. It has: - more freelancing opportunities (starting to work short after a virus/crisis, that's gonna help) - can also do back-end if needed (I would personally avoid specializing in this since there's better languages for the back-end part) - hard to avoid. it's everywhere and not going away (well not yet)

Then, later, for back-end programming languages, Rust seems like your best bet. Its pros: - it's satisfying to work with (after the learning curve) - it's got potential to grow big in the next year (also with better paying jobs) - it's super versatile (you can do high-perf system stuff, graphics, ffi, as well as your classic api server) It comes with a few cons though: - it's harder to learn (expect to put in years) - the freelancing options are virtually non-existent (and I would expect them to stay limited, as rust is better for long-term software than prototypes)

See more
Recommends
on
JavaScriptJavaScript

I suggest you to go with JavaScript. From my perspective JavaScript is the language you should invest your time in. The community of javascript and lots of framework helps developer to build what they want to build in no time whether it a desktop, web, mobile based application or even you can use javascript as a backend as well. There are lot of frameworks you can start learning i suggest you to go with (react,vue) library both are easy to learn than angular which is a complete framework.

And if you want to go with python as a secondary tool then i suggest you to learn a python framework (Flask,Django).

See more
Moinul Moin
Recommends
on
JavaScriptJavaScript

go for javascript, brother.

See more
Needs advice
on
JSONJSON
and
PythonPython

Hi. Currently, I have a requirement where I have to create a new JSON file based on the input CSV file, validate the generated JSON file, and upload the JSON file into the application (which runs in AWS) using API. Kindly suggest the best language that can meet the above requirement. I feel Python will be better, but I am not sure with the justification of why python. Can you provide your views on this?

See more
Replies (3)
Recommends
on
PythonPython

Python is very flexible and definitely up the job (although, in reality, any language will be able to cope with this task!). Python has some good libraries built in, and also some third party libraries that will help here. 1. Convert CSV -> JSON 2. Validate against a schema 3. Deploy to AWS

  1. The builtins include json and csv libraries, and, depending on the complexity of the csv file, it is fairly simple to convert:
import csv
import json

with open("your_input.csv", "r") as f:
    csv_as_dict = list(csv.DictReader(f))[0]

with open("your_output.json", "w") as f:
    json.dump(csv_as_dict, f)
  1. The validation part is handled nicely by this library: https://pypi.org/project/jsonschema/ It allows you to create a schema and check whether what you have created works for what you want to do. It is based on the json schema standard, allowing annotation and validation of any json

  2. It as an AWS library to automate the upload - or in fact do pretty much anything with AWS - from within your codebase: https://aws.amazon.com/sdk-for-python/ This will handle authentication to AWS and uploading / deploying the file to wherever it needs to go.

A lot depends on the last two pieces, but the converting itself is really pretty neat.

See more
Recommends
on
GolangGolang

I would use Go. Since CSV files are flat (no hierarchy), you could use the encoding/csv package to read each row, and write out the values as JSON. See https://medium.com/@ankurraina/reading-a-simple-csv-in-go-36d7a269cecd. You just have to figure out in advance what the key is for each row.

See more
Max Musing
Founder & CEO at BaseDash · | 1 upvotes · 290.1K views
Recommends
on
Node.jsNode.js
at

This should be pretty doable in any language. Go with whatever you're most familiar with.

That being said, there's a case to be made for using Node.js since it's trivial to convert an object to JSON and vice versa.

See more
Needs advice
on
JavaJavaLuaLua
and
PythonPython

I am trying to make Roblox game which requires Lua. I quite don't want to go with Lua just because other tools just might let me do more projects later on. I heard that Python is most similar to Lua, but I am still not sure which tool to use. Java, I think it will help me with many stuff later on for websites, projects, and more!

See more
Replies (2)
Rafey Iqbal Rahman
Cofounder at Wanderloop · | 7 upvotes · 381K views
Recommends
on
LuaLua
at

Since you are trying to make a Roblox game, you have no other option than to use Lua, since Roblox only allows coding in Lua. Yes, you've heard right, Python is identical and as easy as Lua, although Lua is easier than Python. Beginning from Lua and then escalating to Python is recommended. Java is only helpful when you are creating a heavy, big-budget, enterprise-level product, otherwise, Python would suffice.

See more
Recommends
on
TypeScriptTypeScript

If you really hate lua check out roblox-ts, a tool that compiles typescript code into roblox lua. https://github.com/roblox-ts/roblox-ts

See more
Needs advice
on
AngularJSAngularJSReactReact
and
Vue.jsVue.js

What is the best MVC stack to build mobile-friendly, light-weight, and fast single-page application with Spring Boot as back-end (Java)? Is Bootstrap still required to front-end layer these days?

The idea is to host on-premise initially with the potential to move to the cloud. Which combo would have minimal developer ramp-up time and low long-term maintenance costs (BAU support)?

See more
Replies (3)
Carolyne Stopa
Full Stack Developer at Contabilizei · | 10 upvotes · 569.5K views
Recommends
on
Vue.jsVue.js

React might be a good option if you're considering a mobile app for the future, because of react native. Although, Vue.js has the easiest learning curve and offers a better developer ramp-up time. Vue.js is great to build SPAs, very clean and organized and you won't have a lot of long-term maintenance problems (like AngularJS, for example). Bootstrap can still be used, but with flexbox there's no need anymore.

See more
Chaitanya Chunduri
Recommends
on
ReactReact

I recommend React because of less memory occupant compare to Angular, but this will depend on your organisation flexibility. When you use React you need to import different libraries as per your need. On the other side angular is a complete framework.

Performance-wise I vote for react js as it loads up quickly and lighter on the mobile. You can make good PWA with SSR as well.

See more
Recommends
on
ReactReact

If you are new to all three react will be a good choice considering, react-native will be useful if you want to build cross platform mobile application today or tomorrow. If you are talking about bootstrap styling framework than it's a choice you can style ur components by ur self or use bootstrap 4.0 framework. The complete stack mentioned above is platform agnostic u can run it anywhere you want be it cloud or on-premise.

See more
Needs advice
on
JavaJavaPHPPHP
and
PythonPython

Hi everyone, I have just started to study web development, so I'm very new in this field. I would like to ask you which tools are most updated and good to use for getting a job in medium-big company. Front-end is basically not changing by time so much (as I understood by researching some info), so my question is about back-end tools. Which backend tools are most updated and requested by medium-big companies (I am searching for immediate job possibly)?

Thank you in advance Davit

See more
Replies (4)
Pierrick Martos
Engineering Manager at Akeneo · | 20 upvotes · 323.7K views
Recommends
on
PythonPython

Go with Python definetly. It's used everywhere by web developers for backend developments : API, website backend, workers... but also by data scientists (lot lot of resources, models and libraries in Python it's language #1). For the web parts, best web framework are in Python : https://stackshare.io/microframeworks (Flask #2 and Django #3). Java is good but trend is not great in terms of popularity amongs developers and tech leaders.

See more
Vijayakumar Rajagopal
Recommends
on
JavaJava

As per my experience java is most wanted for web development as of now. micro service is evolving . with frameworks like spring boot supports rapid development. Spring boot + Docker + kubernetes great combination.

See more
sharik zama
Software engineering Intern at EPAM Systems · | 5 upvotes · 322.9K views
Recommends
on
JavaScriptJavaScript

I would recommend learning HTML, CSS, and JavaScript (most important). JavaScript forms the backbone of web development. And, there are many popular and widely used frameworks like Angular and React that heavily rely on the knowledge of JavaScript. The number of job opportunities are much more when it comes to javascript.

See more
Chathuranga Bandara
Recommends
on
PythonPython

I would recommend Python as the programming language and as you are a new developer, Flask to start with. It gives you a solid understanding on the web patterns such as REST and will get you up and running in no time. However, I suggest you to read and study on front-end technologies like (React or Vue) and databases (SQL and NoSQL) and probably some NodeJS as well. First grasp the concepts (which Python is ideal for) then it does not really matter the language as such.

See more
Needs advice
on
GolangGolangPythonPython
and
React NativeReact Native

I've been juggling with an app idea and am clueless about how to build it.

A little about the app:

  • Social network type app ,
  • Users can create different directories, in those directories post images and/or text that'll be shared on a public dashboard .

Directory creation is the main point of this app. Besides there'll be rooms(groups),chatting system, search operations similar to instagram,push notifications

I have two options:

  1. React Native, Python, AWS stack or
  2. Flutter, Go ( I don't know what stack or tools to use)
See more
Replies (6)
George Krachtopoulos
Recommends
on
PythonPython

Currently, I have decided to use Python and JavaScript (especially React and Node.js) for any of my projects. Well, I have used Python with Django for a lot of things, and I would certainly recommend Django to anyone, due to its high secure authentication and authorization inbuilt system, a ready to use admin platform, template tags, and many more. Well, I guess that you would like to use Python to create the backend of your application, an API, and React Native for the frontend. Python and JavaScript (React) are on the trend these days and have a huge community, so there are many resources, tutorials, great documentation. I have not really heard anyone using Flutter and Go for applications these days, so I would not recommend it to you, it would make your life much more difficult.

Hope that helps, and good luck with your project!

See more
Tony Chong
Principal & Founder at Airwave Tech · | 6 upvotes · 346.2K views
Recommends
on
FlutterFlutter

I'm typically agnostic when it comes to picking languages. Whatever gets the job done, but, in this case, to figure out what's involved with what you want to do, it's going to be much more than just picking programming languages for your client and backend interfaces.

So, I'm recommending you use Flutter+Firebase as a way to figure out what you need to get done. It supports both iOS and Android out of the box, introduces you to a bunch of components you will need to think about in the future (whether you stick with Firebase or not), and the key here, is that there are tons of articles, youtube videos, and other courses you can take to pick it up pretty quickly. You could even clone an Instagram knockoff from github. Guess what else, it's all free. You might not need to worry as much about the backend since there are client libraries for Flutter/Dart for Firebase.

Some might have different opinions, and like I said, I'm usually agnostic, but in this case, you have a lot to consider. Where are you going to store the data? Are people going to need to login? Will there but customized settings the will save even if I close the app? Yeah, that's just a few questions.

Those are just a few. Lots to consider, so if you want to get something in your hand as soon as possible, try a search for flutter + firebase + chat + Instagram or something like that and have a look.

See more
Recommends
on
React NativeReact Native

If this is for learning about how to design the system, then pick the tools are you are confortable with.

Often times, I get stuck picking the tools (and trying to learn about them) vs actually trying to design the system itself.

If you are familiar with React (check out Expo) and Django then I would recommend going with that.

For deploying your backend, I would go with a provider like https://zeit.co/ that automates a whole bunch of deployment steps with their cli tools that you might have to do with AWS.

See more
Emmanuel Kayode
Software Engineer at Teamapt Ltd · | 3 upvotes · 343K views
Recommends
on
GolangGolang

The above listed tools will do the job, you just need to figure out your architecture(e.g models). How they will all connect. Then you can use a tool you are comfortable with to implement them.

See more
Charles Nelson
Recommends
on
PythonPython

What you need to take a look at is Apache OpenMeetings. It already does what you want, it is open source and well documented and only requires that you design the UI and plumbing required to serve you application.

See more
Adam Ha
Recommends
on
React NativeReact Native

Let's select right tool you feel you are good at. And selecting tools are used by large community to solve your stuck if encounter

See more
Decisions about AngularJS and Python
Timm Stelzer
VP Of Engineering at Flexperto GmbH · | 18 upvotes · 608.5K views

We have a lot of experience in JavaScript, writing our services in NodeJS allows developers to transition to the back end without any friction, without having to learn a new language. There is also the option to write services in TypeScript, which adds an expressive type layer. The semi-shared ecosystem between front and back end is nice as well, though specifically NodeJS libraries sometimes suffer in quality, compared to other major languages.

As for why we didn't pick the other languages, most of it comes down to "personal preference" and historically grown code bases, but let's do some post-hoc deduction:

Go is a practical choice, reasonably easy to learn, but until we find performance issues with our NodeJS stack, there is simply no reason to switch. The benefits of using NodeJS so far outweigh those of picking Go. This might change in the future.

PHP is a language we're still using in big parts of our system, and are still sometimes writing new code in. Modern PHP has fixed some of its issues, and probably has the fastest development cycle time, but it suffers around modelling complex asynchronous tasks, and (on a personal note) lack of support for writing in a functional style.

We don't use Python, Elixir or Ruby, mostly because of personal preference and for historic reasons.

Rust, though I personally love and use it in my projects, would require us to specifically hire for that, as the learning curve is quite steep. Its web ecosystem is OK by now (see https://www.arewewebyet.org/), but in my opinion, it is still no where near that of the other web languages. In other words, we are not willing to pay the price for playing this innovation card.

Haskell, as with Rust, I personally adore, but is simply too esoteric for us. There are problem domains where it shines, ours is not one of them.

See more

With Python + Django it was so much faster to create a typical website like this. Using Go would take to long to launch the initial version. For example, Python could handle complex data type with less line of code. Django also has many built-in libraries and a huge ecosystem of libraries that can be easily used to build a feature.

See more
Xi Huang
Developer at University of Toronto · | 11 upvotes · 231.8K views

We changed to Python instead of Java to have the back-end processing in the same language as our data analysis module. In addition, Python has a lot of libraries for data-processing. We intend to use Flask for our back-end web development. Flask is a simple, straight-forward framework for our purposes. Flask also has a large community which is beneficial to the development process.

See more

Backend:

Python is a great industry standard language that can easily handle both machine learning and web development tasks. Our dev team is very familiar with the language and has used it in various web and Machine learning projects. Python has many versatile ML specific libraries that include TensorFlow, Pytorch, Pycaret, and Keras. It also has packages for data manipulations and visualization like Numpy, Pandas, and Matplotlib. Since our software requires machine learning algorithms, big data processing and a backend server, Python seemed like the way to go.

Our team decided to go distributed databases (NoSQL) over a relational database (SQL) because of the NoSQL dynamic schemas for unstructured data. We are using MongoDB as our NoSQL database due to its simplicity, schema less documentation, deep/fast querying ability, user data management, big data, JSON style documents, and great scaling out. We also chose MongoDB due to its horizontal scaling as a NoSQL database.

Since we are using python as our backend programming language, we decided to use Flask as our web framework. Flask is a micro and lightweight web framework that provides the required functionality to efficiently develop our web server. Flask has a great community with many online resources and provides more flexibility in terms of customization when compared to other frameworks like Django. While Django is great for large scale applications, it does not work well with NoSQL databases.

Frontend:

For our front end framework, we decided to go with React due to its component based structures, flexibility, scalability, and high performance. React has a strong community and is trusted by top companies such as Facebook, Netflix, and Paypal. We can also easily transition our react app to a react native or electron app. We will also be using material-ui framework alongside react for that crisp google material design!

Node.js will be used for development purposes for the front end only. Once we deploy for production, the react frontend will be served from the flask web server and will not require Node.js. This separates the frontend and backend during development, making it easier to work with.

Javascript is one of the most widely used languages for front end development and we will be using it alongside React to develop our user interface. Our dev team is familiar with it through previous web projects. Given how popular it is, its community is very active for any problems that come up and is easy to hire for in the future.

See more
neha menahil

Have you ever stuck with the question that which one is the best front-end framework for you?

With continuous web development progress, the trends of the latest front-end technologies are also continuously changing with more and more sophisticated web features. These top front-end frameworks and libraries have made your complex web tasks more flexible and efficient.

Check out top front end frameworks and their features at https://www.nmtechedge.com/2020/09/24/top-4-trending-front-end-frameworks-2020/

See more
Peter Schmalfeldt
Senior Software Engineer · | 5 upvotes · 156.2K views

I honestly think the best choice for which framework you use should come down to your team's skills. If you have one Senior Dev that is great at React, but like 3-4 mid-level devs, and a handful of junior devs that know Vue.js ... maybe look at using Vue.js a little more seriously.

Yes, there are pros and cons to framework decisions, but I honestly see a LOT of teams not even consider whether a specific framework is a good fit.

See more
Peter Schmalfeldt
Senior Software Engineer · | 4 upvotes · 147.7K views

I honestly think the best choice for which framework you use should come down to your team's skills. If you have one Senior Dev that is great at React, but like 3-4 mid-level devs, and a handful of junior devs that know Angular ... maybe look at using Angular a little more seriously.

Yes, there are pros and cons to framework decisions, but I honestly see a LOT of teams not even consider whether a specific framework is a good fit.

See more
awesomebanana2018

1. Type safety and inferred types

Go is type safe by default, which allows you to right more reliable code and have better developer tooling, plus with the := operator, you can initialize a variable without having to define its type because it automatically gets its type from the initial value.

2. Performance

There isn't much to be said here, but on most counts go beats both Python and Node.js on performance.

3. Documentation

I'm not talking about the Go language itself, although it does have good docs. I'm talking about Go's auto generated documentation tool, which allows people to document their packages easily and works amazingly with Go's type system.

4. Compiles to binary

If you are making a local program for somebody and they don't want to download the Go compiler, you can make Go into a native binary.

5. Built for the web

Go has built in Http libraries to rival Express.js and has a HTML/Text templating system.

6. Great Concurrency

Go utilizes Goroutines to help developers utilize multiple threads easily.

Conclusion

Go is an excellent choice for any system code, especially http networking and web backends.

See more
Kamaleshwar BN
Senior Software Engineer at Pulley · | 10 upvotes · 623.1K views

It was easier to find people who've worked on React than Vue. Angular did not have this problem, but seemed way too bloated compared to React. Angular also brings in restrictions working within their MVC framework. React on the other hand only handles the view/rendering part and rest of the control is left to the developers. React has a very active community, support and has lots of ready-to-use plugins/libraries available.

See more
José Oberto
Head of Engineering & Development at Chiper · | 14 upvotes · 541.3K views

It is a very versatile library that provides great development speed. Although, with a bad organization, maintaining projects can be a disaster. With a good architecture, this does not happen.

Angular is obviously powerful and robust. I do not rule it out for any future application, in fact with the arrival of micro frontends and cross-functional teams I think it could be useful. However, if I have to build a stack from scratch again, I'm left with react.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of AngularJS
Pros of Python
  • 889
    Quick to develop
  • 589
    Great mvc
  • 573
    Powerful
  • 520
    Restful
  • 505
    Backed by google
  • 349
    Two-way data binding
  • 343
    Javascript
  • 329
    Open source
  • 307
    Dependency injection
  • 197
    Readable
  • 75
    Fast
  • 65
    Directives
  • 63
    Great community
  • 57
    Free
  • 38
    Extend html vocabulary
  • 29
    Components
  • 26
    Easy to test
  • 25
    Easy to learn
  • 24
    Easy to templates
  • 23
    Great documentation
  • 21
    Easy to start
  • 19
    Awesome
  • 18
    Light weight
  • 15
    Angular 2.0
  • 14
    Efficient
  • 14
    Javascript mvw framework
  • 14
    Great extensions
  • 11
    Easy to prototype with
  • 9
    High performance
  • 9
    Coffeescript
  • 8
    Two-way binding
  • 8
    Lots of community modules
  • 8
    Mvc
  • 7
    Easy to e2e
  • 7
    Clean and keeps code readable
  • 6
    One of the best frameworks
  • 6
    Easy for small applications
  • 5
    Works great with jquery
  • 5
    Fast development
  • 4
    I do not touch DOM
  • 4
    The two-way Data Binding is awesome
  • 3
    Hierarchical Data Structure
  • 3
    Be a developer, not a plumber.
  • 3
    Declarative programming
  • 3
    Typescript
  • 3
    Dart
  • 3
    Community
  • 2
    Fkin awesome
  • 2
    Opinionated in the right areas
  • 2
    Supports api , easy development
  • 2
    Common Place
  • 2
    Very very useful and fast framework for development
  • 2
    Linear learning curve
  • 2
    Great
  • 2
    Amazing community support
  • 2
    Readable code
  • 2
    Programming fun again
  • 2
    The powerful of binding, routing and controlling routes
  • 2
    Scopes
  • 2
    Consistency with backend architecture if using Nest
  • 1
    Fk react, all my homies hate react
  • 1.2K
    Great libraries
  • 959
    Readable code
  • 844
    Beautiful code
  • 785
    Rapid development
  • 688
    Large community
  • 434
    Open source
  • 391
    Elegant
  • 280
    Great community
  • 272
    Object oriented
  • 218
    Dynamic typing
  • 77
    Great standard library
  • 58
    Very fast
  • 54
    Functional programming
  • 48
    Easy to learn
  • 45
    Scientific computing
  • 35
    Great documentation
  • 28
    Easy to read
  • 28
    Productivity
  • 28
    Matlab alternative
  • 23
    Simple is better than complex
  • 20
    It's the way I think
  • 19
    Imperative
  • 18
    Free
  • 18
    Very programmer and non-programmer friendly
  • 17
    Machine learning support
  • 17
    Powerfull language
  • 16
    Fast and simple
  • 14
    Scripting
  • 12
    Explicit is better than implicit
  • 11
    Ease of development
  • 10
    Clear and easy and powerfull
  • 9
    Unlimited power
  • 8
    It's lean and fun to code
  • 8
    Import antigravity
  • 7
    Python has great libraries for data processing
  • 7
    Print "life is short, use python"
  • 6
    Flat is better than nested
  • 6
    Readability counts
  • 6
    Rapid Prototyping
  • 6
    Fast coding and good for competitions
  • 6
    Now is better than never
  • 6
    There should be one-- and preferably only one --obvious
  • 6
    High Documented language
  • 6
    I love snakes
  • 6
    Although practicality beats purity
  • 6
    Great for tooling
  • 5
    Great for analytics
  • 5
    Lists, tuples, dictionaries
  • 4
    Multiple Inheritence
  • 4
    Complex is better than complicated
  • 4
    Socially engaged community
  • 4
    Easy to learn and use
  • 4
    Simple and easy to learn
  • 4
    Web scraping
  • 4
    Easy to setup and run smooth
  • 4
    Beautiful is better than ugly
  • 4
    Plotting
  • 4
    CG industry needs
  • 3
    No cruft
  • 3
    It is Very easy , simple and will you be love programmi
  • 3
    Many types of collections
  • 3
    If the implementation is easy to explain, it may be a g
  • 3
    If the implementation is hard to explain, it's a bad id
  • 3
    Special cases aren't special enough to break the rules
  • 3
    Pip install everything
  • 3
    List comprehensions
  • 3
    Generators
  • 3
    Import this
  • 2
    Flexible and easy
  • 2
    Batteries included
  • 2
    Can understand easily who are new to programming
  • 2
    Powerful language for AI
  • 2
    Should START with this but not STICK with This
  • 2
    A-to-Z
  • 2
    Because of Netflix
  • 2
    Only one way to do it
  • 2
    Better outcome
  • 2
    Good for hacking
  • 1
    Securit
  • 1
    Slow
  • 1
    Sexy af
  • 0
    Ni
  • 0
    Powerful

Sign up to add or upvote prosMake informed product decisions

Cons of AngularJS
Cons of Python
  • 12
    Complex
  • 3
    Event Listener Overload
  • 3
    Dependency injection
  • 2
    Hard to learn
  • 2
    Learning Curve
  • 53
    Still divided between python 2 and python 3
  • 28
    Performance impact
  • 26
    Poor syntax for anonymous functions
  • 22
    GIL
  • 19
    Package management is a mess
  • 14
    Too imperative-oriented
  • 12
    Hard to understand
  • 12
    Dynamic typing
  • 12
    Very slow
  • 8
    Indentations matter a lot
  • 8
    Not everything is expression
  • 7
    Incredibly slow
  • 7
    Explicit self parameter in methods
  • 6
    Requires C functions for dynamic modules
  • 6
    Poor DSL capabilities
  • 6
    No anonymous functions
  • 5
    Fake object-oriented programming
  • 5
    Threading
  • 5
    The "lisp style" whitespaces
  • 5
    Official documentation is unclear.
  • 5
    Hard to obfuscate
  • 5
    Circular import
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Not suitable for autocomplete
  • 2
    Meta classes
  • 1
    Training wheels (forced indentation)

Sign up to add or upvote consMake informed product decisions

What is AngularJS?

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.

What is Python?

Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.

Need advice about which tool to choose?Ask the StackShare community!

What companies use AngularJS?
What companies use Python?
See which teams inside your own company are using AngularJS or Python.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with AngularJS?
What tools integrate with Python?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Sep 29 2020 at 7:36PM

WorkOS

PythonSlackG Suite+17
8
3049
PythonDockerKubernetes+7
5
1102
PythonDockerKubernetes+14
12
2604
JavaScriptGitHubReact+12
5
4132
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
1961
What are some alternatives to AngularJS and Python?
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Angular
It is a TypeScript-based open-source web application framework. It is a development platform for building mobile and desktop web applications.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
jQuery
jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
See all alternatives