Replit
- Amjad Masad
- Faris Masad
- Haya Odeh
- Community
- Hosting
- IDE
Replit (/ˈrɛplɪt/), formerly Repl.it, is an American start-up and an online integrated development environment (IDE).[3] Replit allows users to create online programming projects called repls.[4]
History
Replit was co-founded by programmers Amjad Masad, Faris Masad, and designer Haya Odeh in 2016.[1][2] It was incorporated in San Mateo.[5] Once listed as a co-founder alongside Masad, Max Shawabkeh left the venture early on.[6][7][8] Its name comes from the acronym REPL, which stands for "read–evaluate–print loop".
Before creating Replit, Amjad Masad worked in engineering roles at Yahoo and Facebook, where he built development tools. He also helped found Codecademy. Masad had come up with the idea for Replit over a decade before its creation.[9]
In 2009, Amjad Masad sought to write implementations of other programming languages in JavaScript, but realized it was not practically feasible. He saw great leaps in browser and web technologies and was inspired by the web capabilities of Google Docs. He thought of the idea of being able to write and share code all in a web browser. He spent two years creating an open-source product with Haya Odeh called "JSRepl".[10] This product allowed him to compile languages into JavaScript. It powered Udacity and Codecademy's tutorials. After becoming an early employee of Codecademy, this project was put off until years later, when he and Odeh decided to revive the project of a programming environment in a browser.[3][9]
As Replit was taking shape, Masad and Odeh wanted to have "a real environment and not something emulated in the browser." The focus was first directed at the education market, and then later towards professional developers.[3]
Since March 2021, "replit.com" has been the default domain name for the web service replacing the older "repl.it". This change was attributed to Masad's preference that people pronounce the website's name as /ˈrɛplɪt/ instead of /ˈrɛpəl/.[10] Another reason cited by Masad was issues with the ".it" top-level domain, such as renewal restrictions.[11]
Replit originally was only a REPL. However, the Ace editor was eventually implemented, allowing for editing of programs as well. In 2017, Replit switched to the Monaco code editor, the same editor used in Visual Studio Code. Due to issues with mobile support, the code editor was switched to CodeMirror over 2021 - 2022.[12] This decision was met with backlash and criticism from the Replit community, which eventually calmed down after bugs and major issues were addressed.
Replit offered Teams for Education,[13] a product to assist in teaching programming in the classroom. It was announced that from November 15th 2023, bug fixes and features would no longer be added to teams for education.[14]
In 2024 it was announced that Replit would be moving from its SoMa headquarters in San Francisco to a new location in Foster City.[15][16]
Features
Replit is an online integrated development environment (IDE) that can be used with a variety of programming languages.
Replit originally supported over 50 programming language but as of February 23, 2022, Replit uses the Nix package manager[17] which allows users access to the entire Nixpkgs package database. New Repls can be created through official language templates or through a user's custom Nix configuration. Users can configure anything from the Language Server Protocol to debugger support for a Repl.[18]
It uses the CodeMirror 6 editor component,[19] the same editor component employed by other major websites such as CodePen.[20]
Replit supports collaborative coding with the ability for multiple users to edit a shared repl, real-time edits across files, and instant messaging.[21] Using a shared compute engine, code can be run and displayed the same to multiple users in a Repl.[21]
Repl environments have built-in source control via Git[22] on all Repls and users can switch branches, push files, and revert code. Replit allows for the pulling of code from a GitHub repository and linking Repls to GitHub repositories.[23] Some Repls also have debugger and unit testing support. Replit uses the Debugger Adapter Protocol to provide debugging services in Java, Python, Node.js, and C++ for all users connected to a Repl.[24] Replit has zero-setup unit testing in several languages.[25] Repls also have secrets management,[26] allowing users to hide values from others who see the Repl publicly. Repls also have databases with key-value data supported in Python, Node.js, and Go. Databases still can be accessed in other languages by using system calls.[27]
Users could also import projects from Glitch, which provides a similar service to Replit, though it is unknown if this feature is still officially supported; as of July 2022 it is functional.
In October 2023, Replit made new features powered by machine learning available to all users. These features include suggestions for code completion and chat software development. The announcement of Replit AI's public release states, "Replit will become a synonym of AI for software creators -- only then we will have accomplished our mission."[28] Replit's FAQ states the algorithms were trained on public code. All public code hosted on Replit is subject to the MIT license and may be used to train machine learning models. User settings are available to disable suggestions from machine learning. In order to prevent code from being used to train Replit algorithms, users must make their Repl private.[29]
References
- ^ a b Rodriguez, Salvador (October 22, 2018). "Former Facebook engineer quit to build the programming tool he always wanted". CNBC.
- ^ a b "Today's Entrepreneur: Faris Masad". VatorNews. April 30, 2019. Retrieved January 12, 2021.
- ^ a b c "Repl.it lets you program in your browser". TechCrunch. Retrieved January 5, 2019.
- ^ Odeh, Haya (May 29, 2017). "Check out my Repl!". Replit. Archived from the original on October 27, 2021. Retrieved June 30, 2022.
- ^ Replit (January 27, 2021). "Replit — Going Global". Replit Blog. Retrieved April 30, 2024.
- ^ "About - Repl.it". repl.it/about. Archived from the original on August 24, 2014. Retrieved June 8, 2021.
- ^ Eisenberg, Bart. "#42 Computer Science 2.0: Part 1―Amjad Masad: Engineer, Codecademy; Co-inventor, repl.it". Retrieved June 8, 2021.
- ^ Spina, Carli (May 5, 2014). "Practice Programming Languages In Your Browser With Repl.it". Retrieved June 8, 2021.
- ^ a b Sawers, Paul (February 18, 2021). "Replit raises $20 million for collaborative browser-based coding". VentureBeat. Retrieved March 13, 2021.
- ^ a b Masad, Amjad. "Replit Dotcom". Replit. Retrieved March 13, 2021.
- ^ Masad, Amjad (February 13, 2021). "what happened to repl.it???".
- ^ Masad, Faris. "Ace, CodeMirror, and Monaco: A Comparison of the Code Editors You Use in the Browser". Replit Blog. Retrieved March 2, 2022.
- ^ Replit. "Teams for Education". Replit. Retrieved June 30, 2022.
- ^ "Update on Teams for Education". Replit Blog. November 14, 2023. Retrieved January 1, 2024.
- ^ https://twitter.com/amasad/status/1785125298398446016 [bare URL]
- ^ "Camila Thomsen on LinkedIn: Exciting times at Replit, we are moving HQ to a larger office space in…". www.linkedin.com. Retrieved April 30, 2024.
- ^ Replit. "All New Repls are Powered By Nix". Replit Blog. Retrieved June 30, 2022.
- ^ Replit. "Using Nix with Replit | Replit Docs". Replit Docs. Retrieved June 30, 2022.
- ^ Replit. "Betting on CodeMirror". Replit Blog. Retrieved June 30, 2022.
- ^ "CodeMirror: Real-world uses". codemirror.net. Retrieved June 30, 2022.
- ^ a b Replit. "Collaboratively code in realtime with Replit Multiplayer". Replit. Retrieved June 30, 2022.
- ^ Replit. "Using Git with Replit | Replit Docs". Replit Docs. Retrieved June 30, 2022.
- ^ Replit. "GitHub and the Run button | Replit Docs". Replit Docs. Retrieved June 30, 2022.
- ^ Replit. "Multiplayer Debugging Experience for Python, Node.js, Java, and C/C++". Replit Blog. Retrieved June 30, 2022.
- ^ Replit. "No-setup Unit Testing". Replit Blog. Retrieved June 30, 2022.
- ^ Replit. "Announcing Secrets Management". Replit Blog. Retrieved June 30, 2022.
- ^ "Replit Key-Value Database | Replit Docs". docs.replit.com. May 3, 2024. Retrieved May 26, 2024.
- ^ https://blog.replit.com/ai4all [bare URL]
- ^ https://docs.replit.com/power-ups/replitai/faq [bare URL]