Get Advice Icon

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

AWK
AWK

84
10
+ 1
0
Python
Python

38.4K
31.5K
+ 1
6K
Add tool

AWK vs Python: What are the differences?

What is AWK? A language for text processing, data extraction and reporting. A data-driven scripting language consisting of a set of actions to be taken against streams of textual data – either run directly on files or used as part of a pipeline – for purposes of extracting or transforming text, such as producing formatted reports.

What is Python? A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java. 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.

AWK and Python can be primarily classified as "Languages" tools.

AWK and Python are both open source tools. Python with 25.9K GitHub stars and 11K forks on GitHub appears to be more popular than AWK with 206 GitHub stars and 41 GitHub forks.

Uber Technologies, Netflix, and Spotify are some of the popular companies that use Python, whereas AWK is used by Betaout, itexto, and Datto. Python has a broader approval, being mentioned in 3814 company stacks & 19518 developers stacks; compared to AWK, which is listed in 3 company stacks and 7 developer stacks.

What is AWK?

A data-driven scripting language consisting of a set of actions to be taken against streams of textual data – either run directly on files or used as part of a pipeline – for purposes of extracting or transforming text, such as producing formatted reports.

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.
Get Advice Icon

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

Why do developers choose AWK?
Why do developers choose Python?
    Be the first to leave a pro

    Sign up to add, upvote and see more prosMake informed product decisions

      Be the first to leave a con

      Sign up to add, upvote and see more consMake informed product decisions

      What companies use AWK?
      What companies use Python?

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

      What tools integrate with AWK?
      What tools integrate with Python?

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

      What are some alternatives to AWK and Python?
      PHP
      Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
      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.
      Java
      Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
      HTML5
      HTML5 is a core technology markup language of the Internet used for structuring and presenting content for the World Wide Web. As of October 2014 this is the final and complete fifth revision of the HTML standard of the World Wide Web Consortium (W3C). The previous version, HTML 4, was standardised in 1997.
      ES6
      Goals for ECMAScript 2015 include providing better support for large applications, library creation, and for use of ECMAScript as a compilation target for other languages. Some of its major enhancements include modules, class declarations, lexical block scoping, iterators and generators, promises for asynchronous programming, destructuring patterns, and proper tail calls.
      See all alternatives
      Decisions about AWK and Python
      AWS Elastic Beanstalk
      AWS Elastic Beanstalk
      Heroku
      Heroku
      Ruby
      Ruby
      Rails
      Rails
      Amazon RDS for PostgreSQL
      Amazon RDS for PostgreSQL
      MariaDB
      MariaDB
      Microsoft SQL Server
      Microsoft SQL Server
      Amazon RDS
      Amazon RDS
      AWS Lambda
      AWS Lambda
      Python
      Python
      Redis
      Redis
      Memcached
      Memcached
      AWS Elastic Load Balancing (ELB)
      AWS Elastic Load Balancing (ELB)
      Amazon Elasticsearch Service
      Amazon Elasticsearch Service
      Amazon ElastiCache
      Amazon ElastiCache

      We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.

      We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.

      In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serverless for all 3 of those database systems.

      Additional services we use for our public applications: AWS Lambda, Python, Redis, Memcached, AWS Elastic Load Balancing (ELB), Amazon Elasticsearch Service, Amazon ElastiCache

      See more
      StackShare Editors
      StackShare Editors
      Python
      Python
      Go
      Go
      Kubernetes
      Kubernetes

      Following its migration from vanilla instances with autoscaling groups to Kubernetes, Postmates began facing challenges while “migrating workloads that needed to scale up very quickly.”

      The built-in Horizontal Pod Autoscaler (HPA) automatically scales the number of pods in a replication controller, deployment or replica set based on observed CPU utilization. But the challenges for Postmates is that there’s no way to configure the scale velocity of one particular cluster with an HPA.

      For Postmates, which runs at least three different types of applications with distinct performance and scaling characteristics, this proved problematic.

      To overcome these challenges, the team created and open sourced the Configurable Horizontal Pod Autoscaler, which allows for fine-grained tuning on a per-HPA object basis. The result is that “you can configure critical services to scale down very slowly, while every other service could be configured to scale down instantly to reduce costs.”

      See more
      Hampton Catlin
      Hampton Catlin
      VP of Engineering at Rent The Runway · | 8 upvotes · 10.9K views
      atRent the RunwayRent the Runway
      Ruby
      Ruby
      Python
      Python
      Java
      Java

      At our company, and I've noticed a lot of other ones... application developers and dev-ops people tend to use Ruby and our statisticians and data scientists love Python . Like most companies, our stack is kind of split that way. Ruby is used as glue in most of our production systems ( Java being the main backend language), and then all of our data scientists and their various pipelines tend towards Python

      See more
      Ajit Parthan
      Ajit Parthan
      CTO at Shaw Academy · | 3 upvotes · 5.9K views
      atShaw AcademyShaw Academy
      PHP
      PHP
      Python
      Python
      #Etl

      Multiple systems means there is a requirement to cart data across them.

      Started off with Talend scripts. This was great as what we initially had were PHP/Python script - allowed for a more systematic approach to ETL.

      But ended up with a massive repository of scripts, complex crontab entries and regular failures due to memory issues.

      Using Stitch or similar services is a better approach: - no need to worry about the infrastructure needed for the ETL processes - a more formal mapping of data from source to destination as opposed to script developer doing his/her voodoo magic - lot of common sources and destination integrations are already builtin and out of the box

      etl @{etlasaservice}|topic:1323|

      See more
      Visual Studio Code
      Visual Studio Code
      GitHub
      GitHub
      Linux
      Linux
      JavaScript
      JavaScript
      Swift
      Swift
      Java
      Java
      PHP
      PHP
      Python
      Python
      XML
      XML
      JSON
      JSON
      Git
      Git
      SVN (Subversion)
      SVN (Subversion)

      I use Visual Studio Code because at this time is a mature software and I can do practically everything using it.

      • It's free and open source: The project is hosted on GitHub and it’s free to download, fork, modify and contribute to the project.

      • Multi-platform: You can download binaries for different platforms, included Windows (x64), MacOS and Linux (.rpm and .deb packages)

      • LightWeight: It runs smoothly in different devices. It has an average memory and CPU usage. Starts almost immediately and it’s very stable.

      • Extended language support: Supports by default the majority of the most used languages and syntax like JavaScript, HTML, C#, Swift, Java, PHP, Python and others. Also, VS Code supports different file types associated to projects like .ini, .properties, XML and JSON files.

      • Integrated tools: Includes an integrated terminal, debugger, problem list and console output inspector. The project navigator sidebar is simple and powerful: you can manage your files and folders with ease. The command palette helps you find commands by text. The search widget has a powerful auto-complete feature to search and find your files.

      • Extensible and configurable: There are many extensions available for every language supported, including syntax highlighters, IntelliSense and code completion, and debuggers. There are also extension to manage application configuration and architecture like Docker and Jenkins.

      • Integrated with Git: You can visually manage your project repositories, pull, commit and push your changes, and easy conflict resolution.( there is support for SVN (Subversion) users by plugin)

      See more
      Ajit Parthan
      Ajit Parthan
      CTO at Shaw Academy · | 1 upvotes · 4.6K views
      atShaw AcademyShaw Academy
      PHP
      PHP
      Python
      Python

      Multiple systems means there is a requirement to cart data across them.

      Started off with Talend scripts. This was great as what we initially had were PHP/Python script - allowed for a more systematic approach to ETL.

      But ended up with a massive repository of scripts, complex crontab entries and regular failures due to memory issues.

      Using Stitch or similar services is a better approach: - no need to worry about the infrastructure needed for the ETL processes - a more formal mapping of data from source to destination as opposed to script developer doing his/her voodoo magic - lot of common sources and destination integrations are already builtin and out of the box

      See more
      Eric Colson
      Eric Colson
      Chief Algorithms Officer at Stitch Fix · | 19 upvotes · 583.9K views
      atStitch FixStitch Fix
      Kafka
      Kafka
      PostgreSQL
      PostgreSQL
      Amazon S3
      Amazon S3
      Apache Spark
      Apache Spark
      Presto
      Presto
      Python
      Python
      R Language
      R Language
      PyTorch
      PyTorch
      Docker
      Docker
      Amazon EC2 Container Service
      Amazon EC2 Container Service
      #AWS
      #Etl
      #ML
      #DataScience
      #DataStack
      #Data

      The algorithms and data infrastructure at Stitch Fix is housed in #AWS. Data acquisition is split between events flowing through Kafka, and periodic snapshots of PostgreSQL DBs. We store data in an Amazon S3 based data warehouse. Apache Spark on Yarn is our tool of choice for data movement and #ETL. Because our storage layer (s3) is decoupled from our processing layer, we are able to scale our compute environment very elastically. We have several semi-permanent, autoscaling Yarn clusters running to serve our data processing needs. While the bulk of our compute infrastructure is dedicated to algorithmic processing, we also implemented Presto for adhoc queries and dashboards.

      Beyond data movement and ETL, most #ML centric jobs (e.g. model training and execution) run in a similarly elastic environment as containers running Python and R code on Amazon EC2 Container Service clusters. The execution of batch jobs on top of ECS is managed by Flotilla, a service we built in house and open sourced (see https://github.com/stitchfix/flotilla-os).

      At Stitch Fix, algorithmic integrations are pervasive across the business. We have dozens of data products actively integrated systems. That requires serving layer that is robust, agile, flexible, and allows for self-service. Models produced on Flotilla are packaged for deployment in production using Khan, another framework we've developed internally. Khan provides our data scientists the ability to quickly productionize those models they've developed with open source frameworks in Python 3 (e.g. PyTorch, sklearn), by automatically packaging them as Docker containers and deploying to Amazon ECS. This provides our data scientist a one-click method of getting from their algorithms to production. We then integrate those deployments into a service mesh, which allows us to A/B test various implementations in our product.

      For more info:

      #DataScience #DataStack #Data

      See more
      Node.js
      Node.js
      JavaScript
      JavaScript
      Django
      Django
      Python
      Python

      Django or NodeJS? Hi, I’m thinking about which software I should use for my web-app. What about Node.js or Django for the back-end? I want to create an online preparation course for the final school exams in my country. At the beginning for maths. The course should contain tutorials and a lot of exercises of different types. E.g. multiple choice, user text/number input and drawing tasks. The exercises should change (different levels) with the learning progress. Wrong questions should asked again with different numbers. I also want a score system and statistics. So far, I have got only limited web development skills. (some HTML, CSS, Bootstrap and Wordpress). I don’t know JavaScript or Python.

      Possible pros for Python / Django: - easy syntax, easier to learn for me as a beginner - fast development, earlier release - libraries for mathematical and scientific computation

      Possible pros for JavaScript / Node.js: - great performance, better choice for real time applications: user should get the answer for a question quickly

      Which software would you use in my case? Are my arguments for Python/NodeJS right? Which kind of database would you use?

      Thank you for your answer!

      Node.js JavaScript Django Python

      See more
      Go
      Go
      Python
      Python
      PostgreSQL
      PostgreSQL
      TypeScript
      TypeScript
      JavaScript
      JavaScript
      NATS
      NATS
      Docker
      Docker
      Git
      Git

      Go is a high performance language with simple syntax / semantics. Although it is not as expressive as some other languages, it's still a great language for backend development.

      Python is expressive and battery-included, and pre-installed in most linux distros, making it a great language for scripting.

      PostgreSQL: Rock-solid RDBMS with NoSQL support.

      TypeScript saves you from all nonsense semantics of JavaScript , LOL.

      NATS: fast message queue and easy to deploy / maintain.

      Docker makes deployment painless.

      Git essential tool for collaboration and source management.

      See more
      Omar Melendrez
      Omar Melendrez
      Front-end developer · | 4 upvotes · 4.3K views
      Vue.js
      Vue.js
      React
      React
      Node.js
      Node.js
      C#
      C#
      Python
      Python
      #Fullstack
      #Vscode

      I'm #Fullstack here and work with Vue.js, React and Node.js in some projects but also C# for other clients. Also started learning Python. And all this with just one tool!: #Vscode I have used Atom and Sublime Text in the past and they are very good too, but for me now is just vscode. I think the combination of vscode with the free available extensions that the community is creating makes a powerful tool and that's why vscode became the most popular IDE for software development. You can match it to your own needs in a couple of minutes. Did I mention you can style it your way? Amazing tool!

      See more
      Tom Klein
      Tom Klein
      CEO at Gentlent · | 4 upvotes · 42.2K views
      atGentlentGentlent
      JavaScript
      JavaScript
      Node.js
      Node.js
      PHP
      PHP
      HTML5
      HTML5
      Sass
      Sass
      nginx
      nginx
      React
      React
      PostgreSQL
      PostgreSQL
      Ubuntu
      Ubuntu
      ES6
      ES6
      TypeScript
      TypeScript
      Google Compute Engine
      Google Compute Engine
      Socket.IO
      Socket.IO
      Electron
      Electron
      Python
      Python

      Our most used programming languages are JavaScript / Node.js for it's lightweight and fast use, PHP because everyone knows it, HTML5 because you can't live without it and Sass to write great CSS. Occasionally, we use nginx as a web server and proxy, React for our UX, PostgreSQL as fast relational database, Ubuntu as server OS, ES6 and TypeScript for Node, Google Compute Engine for our infrastructure, and Socket.IO and Electron for specific use cases. We also use Python for some of our backends.

      See more
      Praveen Mooli
      Praveen Mooli
      Engineering Manager at Taylor and Francis · | 12 upvotes · 535K views
      MongoDB Atlas
      MongoDB Atlas
      Java
      Java
      Spring Boot
      Spring Boot
      Node.js
      Node.js
      ExpressJS
      ExpressJS
      Python
      Python
      Flask
      Flask
      Amazon Kinesis
      Amazon Kinesis
      Amazon Kinesis Firehose
      Amazon Kinesis Firehose
      Amazon SNS
      Amazon SNS
      Amazon SQS
      Amazon SQS
      AWS Lambda
      AWS Lambda
      Angular 2
      Angular 2
      RxJS
      RxJS
      GitHub
      GitHub
      Travis CI
      Travis CI
      Terraform
      Terraform
      Docker
      Docker
      Serverless
      Serverless
      Amazon RDS
      Amazon RDS
      Amazon DynamoDB
      Amazon DynamoDB
      Amazon S3
      Amazon S3
      #Backend
      #Microservices
      #Eventsourcingframework
      #Webapps
      #Devops
      #Data

      We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

      To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

      To build #Webapps we decided to use Angular 2 with RxJS

      #Devops - GitHub , Travis CI , Terraform , Docker , Serverless

      See more
      Python
      Python
      JavaScript
      JavaScript
      asyncio
      asyncio
      PubNub
      PubNub

      I love Python and JavaScript . You can do the same JavaScript async operations in Python by using asyncio. This is particularly useful when you need to do socket programming in Python. With streaming sockets, data can be sent or received at any time. In case your Python program is in the middle of executing some code, other threads can handle the new socket data. Libraries like asyncio implement multiple threads, so your Python program can work in an asynchronous fashion. PubNub makes bi-directional data streaming between devices even easier.

      See more
      Helio Junior
      Helio Junior
      Python
      Python
      JavaScript
      JavaScript
      CSS 3
      CSS 3<