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

JavaScript

360.4K
274K
+ 1
8.1K
Perl

3.5K
932
+ 1
574
Add tool

JavaScript vs Perl: What are the differences?

Introduction

JavaScript and Perl are both programming languages commonly used for website development. While they share some similarities, there are several key differences between the two.

  1. Syntax: One notable difference between JavaScript and Perl is their syntax. JavaScript uses C-like syntax, making it familiar to programmers of languages like C and Java. On the other hand, Perl has its own unique syntax, which is known for its flexibility and power. This syntax is often described as more concise and readable than that of JavaScript.

  2. Type System: Another significant difference is their type systems. JavaScript is a dynamically typed language, meaning that variables do not have explicit types and can change their type at runtime. Perl, however, is a strongly typed language, which requires variables to have a specific type that cannot be changed easily.

  3. Object-Oriented Programming: When it comes to object-oriented programming, JavaScript and Perl have different approaches. JavaScript is a prototype-based language, where objects can be created from existing objects. Perl, on the other hand, supports both classical and prototype-based object-oriented programming. This means Perl has a more flexible and versatile object-oriented system.

  4. Regular Expressions: Perl is well-known for its excellent support for regular expressions, which are powerful tools for pattern matching and text manipulation. Perl provides extensive built-in support for regular expressions, making it easier to work with complex string patterns. While JavaScript also supports regular expressions, Perl's capabilities in this area are considered more advanced.

  5. Usability: JavaScript is widely regarded as a more beginner-friendly language compared to Perl. Its syntax and concepts are relatively easier to grasp, making it a popular choice for newcomers to programming. Perl, on the other hand, has a reputation for being more complex and harder to learn due to its flexibility and extensive feature set.

  6. Community and Ecosystem: The JavaScript ecosystem is vast and thriving, with a large community and numerous frameworks, libraries, and tools available for various purposes. JavaScript is heavily used in web development, making it well-supported and widely adopted. Perl, while still used in certain domains, has a smaller and less active community and a narrower range of available resources.

In summary, JavaScript and Perl differ in terms of syntax, type systems, object-oriented programming approaches, regular expression support, usability, and community/ecosystem. While JavaScript is more beginner-friendly and has a larger community, Perl offers more flexibility and power in certain areas, such as regular expressions.

Advice on JavaScript and Perl
Nikhilesh Swaminathan
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython
Please Help in creating a test framework

Hello Devs,

I am planning to implement a ETL test system for checking data quality and business use cases. I am confused on what stack to use. Any advice on the below will be very helpful.

  1. Any existing frameworks and its source code for help
  2. Any other stack apart from the mentioned stack (that might be suitable)
  3. Any ideas for features are welcomed.
  4. The usage of multiple BE stacks.
See more
Replies (1)

If you want to create using Python language, Robot Framework is one very helpful tool to improve your test scripting and we have a lot of methods created by the community. If you want to use Javascript, Cypress in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.

See more
Needs advice
on
C#C#JavaScriptJavaScript
and
KotlinKotlin

Hello everybody,

I'm Syed, recently graduated from university. I studied C++ as the first programming language and later I have (a little) experience working with C#. I also have a basic understanding of Kotlin, JavaScript and Python. As of today, I am studying Kotlin from https://developer.android.com/.

Please give me some tips about my career. Which language should I choose in today's modern era? Whether I go with Web development or work on Android app development. Thank you for your assistance.

See more
Replies (1)
Recommends
on
DartDartFlutterFlutterReactReact

Hi Syed, I wish you all the best. I'm an experienced programmer with more than 15 years of experience. Recently in my company, we were trying to hire a MERN Full-Stack developer and we found many who can code in React but few who were capable of thinking logically and actually able to solve the business problem. Learn any language or package, but keep in mind to learn for a goal. Syntaxes don't matter, we hire to achieve goals. Small to medium companies, usually hire full-stack developers due to the lack of resources. So it would be great to learn the following: For Web, I would suggest "React", and for mobile development, "Flutter" comes in handy with lots of promising future. How about learning both? much better but it's all about you. Good luck!

See more
Needs advice
on
GolangGolangPerlPerl
and
RustRust

I intend to use a programming language which I'll use as AWS runtime and write a script that will comb through tons of files in a directory and its subdirectories and search for simple text regular expressions and process and write the matches in a file as output. I have heard that Perl is good for regex based search but I also want the performance to be good as it will have to go through tons of files for IO. In this post: https://filia-aleks.medium.com/aws-lambda-battle-2021-performance-comparison-for-all-languages-c1b441005fd1, I see that Rust works well as AWS Lambda runtime with very good performance. Which one should I choose as my AWS lambda runtime for this problem? Golang is also an option as it is fast as per the above link.

See more
Replies (1)
Recommends

I used to work in a Perl shop and must admit that the language is very simple for tasks like these, but as you mentioned it's not fast at execution time. I'm now a Go programmer professionally but I taught myself the language while in college purely out of interest and eventually found my way to the job, not the other way around. I've recently been learning a little rust because of how much that language comes up in conversations around Go. I find the concept of the borrow checker nice but I have to admit I feel lost like I am in most flavors of new fancy framework js. That's not to say Rust is really anything like js, but the learning appears the same to me as someone who's convinced they could learn just about any programming language if it was necessary (over time I've seen procedural, OOP, declarative and functional stuff but never programming logic outside of the prolog code I wrote in school).

Go isn't made for your specific task at hand but it's a very easy language to pick up and it has good directory traversal standard library code and good regex (even though with time perl's has been optimized to be faster and I think it's written in C++) but more than anything Go is "cloud native" programming in that an awful lot of new microservice tech stacks are centered around it, docker and kubernetes are written in it, and there's a thriving community whose focus is generally web-first and performance-oriented. This means for your use case there might already be a large cohort of gophers that have asked the stackoverflow questions for you

I personally would push you towards the NYT Profiler for Perl before I would towards Rest, but that's because I know you wouldn't waste any time being able to get to the task at hand and then make it go faster, and I expect all but a few rustaceans would be able to do so with the same speed.

Whatever you pick I wish you the very best of luck!

See more
Paul Morgan
Researcher at Working on it · | 25 upvotes · 261.8K views
Needs advice
on
JavaScriptJavaScriptPythonPython
and
ReactReact

Hey everyone, I have a matrix chart drawn in HTML5/CSS 3 dominantly using CSS grid. I would like to add interactive features and am unsure about the best tool. My programming knowledge is limited to 2 semesters of Java in college, so I'd have to learn the language as I go. I am open to anything, but the selected languages would be useful in future projects.

Here are the features I am attempting to add to the site linked as my blog:

  • Assign over 120 attributes each to over 400 elements (probably in a DB)

  • Procedurally position elements in a matrix chart based on user-inputted filters (filtering and searching)

  • Procedurally position matrix elements based on attributes weighted by user-input

  • Change style of elements based on user input (highlighting)

  • Allow saving matrix chart states to be revisited or shared

  • Provide a user-friendly interface for users to submit the above input

  • Build several columns or matrices that are separate but related and seamless to the viewer

See more
Replies (5)

PyCharm + Python + Flask + Jinja2 is enough to build web server/ajax and JavaScript + JQuery (maybe React). You can write small easy application but also extreme high scalable application.

I know Java but it need 4x time more code and code is not clear (too much forced use of @decorators) - too complex and takes more memory :)

Remember if you code in Python it is easy to code in Java but if you code in Java you must understand that Python is much more flexible and powerful - also easier to learn.

See more

There are two main facets to interactivity - whether your frontend (Javacsript, HTML, CSS) is programmed to behave dynamically based on events and on any other preprogrammed behavior, and based on what information your server can send and receive and compute for the benefit of your frontend. For the former (a dynamic frontend) you'll need to use Javascript (or Typescript) in some form. For the latter (a server with custom behavior and data endpoints beyond just sending static HTML etc. files), any of the major languages can serve this purpose. However, if you are going to create a dynamic frontend with Javascript and don't know that language at all, then learning it will be a task in itself, and without knowing a backend language well either (probably the case with only two semesters of one language a while back), you ideally don't want to also have to learn a whole other backend language on top of that. That's where NodeJS comes in. It has essentially the same exact syntax as frontend Javascript (just different native libraries). Since you already need to learn Javascript to make the frontend behave dynamically, if you also want a custom backend, NodeJS will spare you a big learning curve on top of the existing learning curve of learning JS. NodeJS is also highly performant for low-compute high-volume requests, i.e. handling a large barrage of requests if each doesn't require a lot of complicated behavior on the backend. A lot of coding bootcamps teach this, commonly called "full stack JS", for this reason - it allows someone to learn a constellation of full stack web development skills from the mastery of one language syntax. NodeJS + ExpressJS is also one of the easiest backend languages + REST API library to use to build a backend. Look up "NodeJS Express Hello World", and you'll be shocked at how easy it is to build a basic server. As far as frontend frameworks go, if this project is very limited in scope, JQuery could be fine, but I'd highly recommend learning React for something more involved - it will be immensely easier to manage and maintain, and generally lends itself to much better and more intuitive code organization. Its use of components will also be somewhat familiar and intuitive from the object oriented programming you learned through Java. Create React App is great tool to use, especially when first learning React, to avoid all of the finicky nonsense in configuring transpilation etc.

See more
Recommends
on
ReactReact

React is hands-down the tool I recommend to add interactivity to your matrix. Because it is Javascript, it will leverage a lot of the formatting from Java. Python would be very foreign to you. React shines in allowing you to use OOP principles within the JavaScript language and it is really powerful, fast and browser friendly.

See more
Recommends

Use Javascript alongwith HTML CSS and you have complete set of application ready (even for future for PWA or bundled applications).

You can use charts.js library https://www.chartjs.org/ or https://apexcharts.com/javascript-chart-demos/. You can find many examples, you can have a look at https://codepen.io/ksarpotdar/pen/NWyqqZM?editors=0010

See more
Recommends
on
JavaScriptJavaScript

Ok. Clearly you forgot the best tool to give for interactive features. JavaScript! In particular I recommend the freeCodeCamp JavaScript course. Here it is.

See more
Needs advice
on
JavaScriptJavaScript
and
PythonPython

I am unhappy. When doing my research, I heard Python is useless. Data science is an unworthy field thanks to TensorFlow, and web scraping has also become pointless since the introduction of the PWA. Since PWAs are only frontend, I feel forced to learn JavaScript, and to ditch Python. I love Python with all my mind, it's simplicity, conciseness, and easiness as a tool. Here are a few questions:

  1. Should I forget Python and move on?
  2. Are there any PWA alternatives to JavaScript/TypeScript. I've been thinking of using Python for WASM and use HTML+CSS for the DOM to create the PWA. Is this possible?
  3. Why is JavaScript such a pain in the butt
  4. What's the point of me learning Python if it's not useful for web development?
See more
Replies (4)
Christophe Vermeulen
Engineer Counselor at IBPT · | 8 upvotes · 81.8K views
Recommends
on
PythonPython

You should not ditch or forget Python because of what you hear or because of one particular project. It's probably going to stay relevant and useful for the coming 20 years. If you're a programmer, you should however be prepared to use several tools, and programming languages are just part of the toolbox (like HTML or CSS, but also your IDE, powershell, linux commands, etc.) It's not for nothing that this site is called "stackshare".

See more
Adam Bouqdib
Software Engineer, Entrepreneur at ABE Media · | 6 upvotes · 80.7K views
Recommends
on
GolangGolang

Python is great for data science but it's not very performant and eats up loads of resources. I recommend that you give Go a go. It's easy to learn and very fast!

See more
Recommends

JavaScript is reduced Python. Python is powerful. If Python is not powerful you can mix it with C/C++ - this is not available in JavaScript in easy way. I am programmer and electrical engineer too - I think for research Python is the best thing. JavaScript is better for Web. I code in both very good.

See more
Recommends

Python is definitely not useless, It has a ton of usecases, with a huge community behind it, but not that performant and consumes lots of resources, I don't think you should abandon it, and PWA is kind a in its early stage, so I doubt that there will be any language better than js for developing it any time soon, so I guess there are no alternatives, but I guess you will like js/ts if you spend a little more time playing with it, and the same goes for wasm it is also in its early stage, and i guess web assembly and rust will be used a lot for that, and lets say you have built a frontend web app , now with the help of python + django or flask you can write server code, and learn a little bit about databases, then bravo you are a full stack dev.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of JavaScript
Pros of Perl
  • 1.7K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.2K
    Lots of great frameworks
  • 898
    Fast
  • 745
    Light weight
  • 425
    Flexible
  • 392
    You can't get a device today that doesn't run js
  • 286
    Non-blocking i/o
  • 237
    Ubiquitousness
  • 191
    Expressive
  • 55
    Extended functionality to web pages
  • 49
    Relatively easy language
  • 46
    Executed on the client side
  • 30
    Relatively fast to the end user
  • 25
    Pure Javascript
  • 21
    Functional programming
  • 15
    Async
  • 13
    Full-stack
  • 12
    Setup is easy
  • 12
    Future Language of The Web
  • 12
    Its everywhere
  • 11
    Because I love functions
  • 11
    JavaScript is the New PHP
  • 10
    Like it or not, JS is part of the web standard
  • 9
    Expansive community
  • 9
    Everyone use it
  • 9
    Can be used in backend, frontend and DB
  • 9
    Easy
  • 8
    Most Popular Language in the World
  • 8
    Powerful
  • 8
    Can be used both as frontend and backend as well
  • 8
    For the good parts
  • 8
    No need to use PHP
  • 8
    Easy to hire developers
  • 7
    Agile, packages simple to use
  • 7
    Love-hate relationship
  • 7
    Photoshop has 3 JS runtimes built in
  • 7
    Evolution of C
  • 7
    It's fun
  • 7
    Hard not to use
  • 7
    Versitile
  • 7
    Its fun and fast
  • 7
    Nice
  • 7
    Popularized Class-Less Architecture & Lambdas
  • 7
    Supports lambdas and closures
  • 6
    It let's me use Babel & Typescript
  • 6
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 6
    1.6K Can be used on frontend/backend
  • 6
    Client side JS uses the visitors CPU to save Server Res
  • 6
    Easy to make something
  • 5
    Clojurescript
  • 5
    Promise relationship
  • 5
    Stockholm Syndrome
  • 5
    Function expressions are useful for callbacks
  • 5
    Scope manipulation
  • 5
    Everywhere
  • 5
    Client processing
  • 5
    What to add
  • 4
    Because it is so simple and lightweight
  • 4
    Only Programming language on browser
  • 1
    Test
  • 1
    Hard to learn
  • 1
    Test2
  • 1
    Not the best
  • 1
    Easy to understand
  • 1
    Subskill #4
  • 1
    Easy to learn
  • 0
    Hard 彤
  • 72
    Lots of libraries
  • 66
    Open source
  • 61
    Text processing
  • 54
    Powerful
  • 49
    Unix-style
  • 47
    Regex
  • 37
    Stable
  • 32
    Concise syntax
  • 29
    Hackerish
  • 22
    Easy to use
  • 15
    Swiss army chainsaw
  • 13
    Code Less Do More
  • 12
    CPAN
  • 9
    Freedom
  • 8
    All purpose
  • 5
    Many ways to do it
  • 5
    Familiar
  • 5
    Readability
  • 5
    Community
  • 4
    Modular
  • 4
    Smart (does alot for you)
  • 4
    Object-Oriented
  • 3
    Postmodern
  • 3
    It's the best one-off task language
  • 2
    For a man
  • 2
    Good man pages
  • 1
    Auto case variables
  • 1
    Single Source Library (CPAN)
  • 1
    Multi-threaded support
  • 1
    Hashes
  • 1
    C-style
  • 1
    Multiparadigm

Sign up to add or upvote prosMake informed product decisions

Cons of JavaScript
Cons of Perl
  • 22
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 15
    Javascript is the New PHP
  • 9
    No ability to monitor memory utilitization
  • 8
    Shows Zero output in case of ANY error
  • 7
    Thinks strange results are better than errors
  • 6
    Can be ugly
  • 3
    No GitHub
  • 2
    Slow
  • 0
    HORRIBLE DOCUMENTS, faulty code, repo has bugs
  • 4
    Messy $/@/% syntax
  • 3
    No exception handling
  • 2
    Bad OO support
  • 2
    "1;"
  • 2
    No OS threads
  • 1
    Variables are global by default
  • 1
    Copy-on-create for interpreter-based threads
  • 1
    Barewords
  • 1
    Errors/warnings are ignored by default

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is 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.

What is Perl?

Perl is a general-purpose programming language originally developed for text manipulation and now used for a wide range of tasks including system administration, web development, network programming, GUI development, and more.

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

What companies use JavaScript?
What companies use Perl?
Manage your open source components, licenses, and vulnerabilities
Learn More

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

What tools integrate with JavaScript?
What tools integrate with Perl?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
5
3473
JavaScriptGitHubReact+12
5
4197
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
991
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
2009
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
5
3886
JavaScriptPythonPubNub+4
7
1572
What are some alternatives to JavaScript and Perl?
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
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.
Dart
Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.
CoffeeScript
It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.
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!
See all alternatives