
What technologies are most often used on hackathons
- Transfer

Choosing a programming language for a novice developer is quite stressful. It is not a fact that the language that is now popular will remain so in a year. Even less likely, his knowledge will help you get a more prestigious job.
However, it’s quite interesting to observe what languages and technologies developers choose in a situation where they are given complete freedom for this — when they write not what the boss requires of them, but work on their own project without any specific purpose.
Like, for example, on a hackathon.
Not so long ago, ChallengePost - a tool for organizing the work of a large number of hackathons (including those held before each TechCrunch Disrupt conference) - changed its name to Devpost. In order to mark this event, its employees collected the knowledge that they acquired over the past year.
About Devpost Community
Devpost (formerly ChallengePost) is a community in which developers can share their projects, create their portfolios and take part in online and offline hackathons.
In their first report, Devpost compiled a ranking of technologies that students most often used during the 2014-2015 school year. Beginners and experienced programmers, students of schools and colleges - all of them are a source of innovation in the field of software (as well as hardware) software and demonstrate equal interest in both scientific aspirations and in creating user-oriented products.
Ranking technique
During the hackathons and as part of the participants' compilation of their portfolio, respondents were asked to tag the platforms, technologies, languages, and APIs that they use. This method helps to gather all the necessary information about the developer community.
The authors of the report studied the project tags of each of the participants (there were 13,281 people in total) 160 student hackathons, who submitted a total of 9,898 projects either on hackathons or in their portfolio on the Devpost website.
The list of technologies used in student projects included programming languages, communication APIs, social services APIs, payment system APIs, geolocation APIs, music APIs, backend and frontend frameworks, databases, game engines, and integrated development environments (IDEs) ), libraries, backend as a service (BaaS), platform as a service (PaaS) and infrastructure as a service (IaaS) models, protocols, text editors, hardware, and much more. For each category, the authors selected the 5 most popular tags.
Technology and API ranking
Mobile platforms:
What mobile platforms are programmers interested in? 38.2% of developers choose Android, 22.7% choose iOS, and only 4.9% use Windows Phone. The remaining 34.2%, apparently, have not yet decided on their favorite platform.
Programming languages and other tools:
- HTML / CSS
- Javascript
- Python
- Java
- C / c ++
- Php
- Objective-c
- C #
- Swift
- Json
- Ruby
- XML
- Ajax
- Shell
- Processing
- Lua
- CoffeeScript
- Go
- MATLAB
- Opengl
- R
- Groovy
- Xaml
- Perl
- Webgl
- Applescript
- Scala
- GLSL
- Jsp
- LaTeX
HTML / CSS and JavaScript, as expected, topped this list. As a rule, these are studied by novice developers in the first place. Therefore, if you are trying to assemble a team of people you don’t know (which happens quite often at hackathons), then these tools are universal in some ways.
It is unexpected to see Swift on this list, since Apple introduced this language only 13 months ago.
As for the APIs, here Devpost did not begin to collect everything in one heap, but broke them into categories. And it does not hurt you to get acquainted with the API in each of the categories.
Communication APIs:
- Twilio
- Yo
- Sendgrid
- Moxtra
- Mailjet
Social Services API:
- Google+
Payment Systems API:
- Venmo
- Paypal
- Stripe
- Braintree
- Blockchain
Geolocation APIs:
- Google maps
- Yelp
- Google places
- Esri ArcGIS
- Mapbox
Music APIs:
- Spotify
- Echo nest
- Soundcloud
- Google play
- Rdio
Which communication API platform is most popular according to their data? Twilio Social? Facebook (of course), then Twitter (also expected). Payment system API? Venmo, ahead of Paypal. Surprisingly, both overtook Stripe. Google Maps is the sole leader in the geolocation category, as many might have suggested.
The leadership of Twilio in the communication API category is more than obvious, if only because developers very often use Twilio on hackathons. Such developers are found in almost every hackathon, even if this is just one of the evangelists acting unofficially. A prerequisite for working on Twilio is to create a project based on its API. Moreover, one of the leading Twilio developers left the company and founded Major League Hacking - A company that conducts hackathons for students around the world.
Application development frameworks:
- Node.js
- Flask
- Angularjs
- Ruby on Rails
- Django
Database:
- Mongodb
- MySQL
- Sqlite
- PostgreSQL
- Foundationdb
IOS frameworks:
- Core location
- Mapkit
- Uikit
- Core data
- AV Foundation
Game engines:
- Unity
- Pygame
- libGDX
- Gamemaker
- Unreal engine
If we talk about game engines, then the clear leader is Unity with more than 1000 submitted projects. Next on the list is Pygame with less than 50 projects.
Integrated Development Environments:
- Android Studio
- Xcode
- Eclipse
- Visual studio
- Jade
Libraries:
- jQuery
- Express.js
- Socket.io
- Opencv
- D3.js
Backend as a Service (BaaS):
- Parse
- Firebase
- Meteor.js
- MongoLab
- Amazon rds
Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) (Top 10):
- Azure
- Heroku
- Amazon web services
- Digital ocean
- Ibm bluemix
- Google app engine
- Linode
- Atlantic.Net
- Openshift
- Rackspace
Command line utilities:
- cURL
- Makefile
- Gradle
- Yeoman
- ngrok
Text Editors:
- Sublime text
- Vim
- Notepad ++
- Brackets
- Atom
What can be said about projects that break through the walls of the virtual world and invade the world of physical technology?
Hardware:
- Arduino
- Myo
- Pebble
- Leap motion
- Oculus rift
- Raspberry pi
- Intel edison
- Kinect
- Particle (formerly Spark)
- Google cardboard
- GPS
- Servo
- 3D Printing
- Android Wear
- Meta (smart glasses)
- Google glass
- Accelerometer
- Tessel
- Muse (headband)
- Intel Galileo
The expected queen of the “iron” ball was the Arduino hardware platform. It is quite flexible and easy to change, being the “brains” of almost every simple electronic project, and not too expensive, so you will not suffer much if two or three boards burn out. That is why most electronics lovers prefer it. Behind it is densely followed by a no less well-known, but more specialized “hardware”: a Myo manipulator bracelet, a Pebble smart watch, a Leap Motion detector and an Oculus Rift virtual reality helmet. Curiously, the versatile and inexpensive Raspberry Pi computer was only in 6th place.
Other APIs and Technologies
Not all technologies noted by students fall into one of the categories. Some come in several at once. Listed below are a few more technologies that fall into different categories:
- AlchemyAPI
- Autodesk
- Bitcoin
- Bloomberg
- Canvas
- Capital One
- Docker
- Dropbox
- Eventbrite
- Evernote
- Face++
- Giphy
- IBM Watson
- Indico
- Kimono
- Machine Learning
- Maya
- MetaMind
- Mojio
- Nginx
- OCR
- Ordr.in
- Postmates
- Priceline API
- Qualcomm Vuforia
- Rhine
- Sabre
- Selenium
- SolidWorks
- Tomcat
- TripAdvisor
- Uber
- Weather Underground
- Wit.ai
- Wolfram Technologies
- Ziggeo
Основные выводы
Most of the projects in which the sample of students took part came down to web development or mobile development, and our rating of programming languages reflects this situation. Having 24-48 hours at their disposal, students at the hackathon, as a rule, were engaged in web development using the API and the development of mobile applications.
Somewhat unusual to see that Android is clearly superior to iOS, but this open platform gives an advantage to students who are developing applications on weekends.
Despite the presence in the student community of numerous jokes about Node.js, the rating shows that this platform was extremely popular in the 2014-2015 school year.
CSS, Objective-C, Swift, and Lua are high on Devpost, given their use in web development, iOS app development, and game development, respectively. Languages such as C ++, R, Perl, and Scala are more commonly used in enterprise systems, backend applications, and statistical processing, and are much less commonly used on hackathons and student projects.
The development for specific hardware was especially popular with judges in 2014-2015. 10% of the winning projects were accompanied by the “hardware” tag, 8.2% - developments using Arduino, 5.3% - projects for Pebble, 4.8% - Leap Motion, 4.5% - Myo and 3.9% - Oculus. Those who were developing for one of these platforms took prizes more often than non-prizes.
During the spring semester, the popularity of Pebble, Oculus, Leap Motion, Intel Edison, Raspberry Pi, Muse and Meta increased, most likely due to financial support from companies.
Despite the recent increase in interest in NoSQL databases (such as MongoDB and Redis), relational databases are still quite popular.
Bootstrap and other similar tools for front-end development are popular with beginners. Competition in the PaaS / IaaS model space is constantly growing, and there are even more opportunities to use the DevOps methodology. Due to the fact that the XaaS model is increasingly transforming itself from a service directly into a product, industry leaders and new players will have to provide more personalized support in order to stand out from the rest.
Among the technologies that showed rapid growth in the second half of the school year, Unity, Intel Edison, Bootstrap, Meteor.js, Flask, OpenCV, Jade, DigitalOcean, Ionic, Wolfram Technologies, Linode, Postmates, Capital One, Blender, Swift, and SQLite
Instead of a conclusion
Remember: despite the increased interest in this data, they will not necessarily reflect the real situation. Of course, it will not hurt you to study any of the five best tools, but you should not make important professional decisions based only on these data.
If you think which language is best to learn first, choose the simplest one (JavaScript is a good solution), master the key principles of programming, and then try to pay more attention to details. But if someone says that your first language is a bad decision, and you just need to learn Ultramodern Language 2015 instead, send it to hell.
More startup stuff on our blogs at Geektimes and Megamozg .