The Julia Language
Julia Hacknight
HasGeek in association with the Julia Community is hosting a Hacknight to learn and hack Julia, a lightning fast programming language for technical computing. The Hacknight will be mentored by Viral B Shah, Co-creator of the Julia programming language.
What is Julia?
Julia is a high-level, high-performance dynamic programming language for technical computing, with syntax that is familiar to users of other technical computing environments. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. The library, largely written in Julia itself, also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing.
In addition, the Julia developer community is contributing a number of external packages through Julia’s built-in package manager at a rapid pace. Julia programs are organized around multiple dispatch; by defining functions and overloading them for different combinations of argument types, which can also be user-defined. For a more in-depth discussion of the rationale and advantages of Julia over other systems, see the following highlights or read the introduction in the online manual. - From Wikipedia. Unlike other mathematical programming languages, Julia is purpose built for distributed computing, scaling easily across muliple CPUs.
Why Julia?
In the words of the Julia Team:
“We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. Did we mention it should be as fast as C?”
You should attend if:
- You use Matlab, but do not wish to pay thousands of dollars in license fees every year.
- You use octave, R, python, scilab, but want higher performance.
- You use C++ or Java for data analysis, but want something more productive.
- You love Julia, and want to contribute to it and make it better.
Julia should appeal to professionals doing data analysis or technical computing at work, students and researchers in academia, and hobbyists who hack for the fun of it.
Mentor:
Viral B Shah is the co-creator of the Julia Language. He has previously designed the policies and the technology behind the Aadhaar-based payments systems for Government payments and the e-KYC platform and worked as a senior scientist at Interactive Supercomputing. More on his LinkedIn page.
What is a hacknight?
Hacknight is a space where you can work on your pet project, try a new idea or test the waters of new tools, technologies and languages. At hacknights, you meet new people, make friends and network. Overall, a hacknight is an amazing, hands-on learning experience.
HasGeek's hacknights provide developers the opportunity to work in an easy, relaxed, peer-to-peer format, over a period of 12-20 hours.
Next Steps:
- Register for the hacknight. You will receive a confirmation from us.
- Propose a project idea, and/or join a team.
- Comment on other projects.
- Come to the hacknight with your ideas and gear!
- Write awesome code!
Food, beverages and facilities will be provided to all participants during the hacknight.
Other Participants
-
Write a beginners guide to Julia for users of <your favourite language>
3 membersImprove documentation -
Implement readline capabilities in julia
1 memberReadline replacement -
IDE for julia - Eclipse integration
2 membersIDE for Julia with Eclipse -
Image processing library
1 memberimage processing -
Implement the Computer Language Shootout Benchmarks
2 membersDebian Shootout benchmarks -
Big Data analytics project
3 membersAnalyse a large dataset -
Parallel computing with distributed arrays
2 membersDistributed array capabilities -
MySQL interface from Julia
1 memberMySQL interface from Julia -
"Up For Grabs" project ideas
1 member18 project ideas