Hacker News new | past | comments | ask | show | jobs | submit login
Computer scientist Viral Shah helped build Julia from Bengaluru, India (qz.com)
181 points by bootload on April 23, 2017 | hide | past | favorite | 46 comments



I don't have an opinion on the 'built in Bangalore' part, but I know Viral (live in the same apartment block and run across him occasionally and talk tech) and can confirm he is quite the agent of change. In addition to being immensely talented of course.

In a world of people trying to puff themselves up, Viral Shah is very understated and humble and flies somewhat under the radar. Good to see his contributions are getting more publicity.


Ravi, you are very kind as always!


...and good to see you again. Just checked your comment history and it shows activity, but for some reason its been a long time sinc I ran into you a comment of yours.


As an Indian working in India, the 'in Bengaluru' part actually makes me a bit sad. While Shah may have physically been in India when he was working on Julia, the project might not have happened without his having gone to the US for graduate studies. I can't think of any comparable project started entirely by people working in India.

The reason is not lack of ability: my guess is that at any time India's best institutions like the IITs or IISc have at least a hundred people who could build something like Julia. Instead it is perhaps India's poverty that prevents people from starting something that does not have an immediate academic or business payoff.


While it is true that my PhD experience at UC Santa Barbara was crucial to my network of collaborators and work on Julia, there are several contributors to Julia from India who have not gone for graduate studies abroad. There are many contributions from undergraduates as well. I am just glad that Julia is a living breathing open source project with significant contributions and work from around the world, including India.

I don't think that IITs or IISc or institutions are deciding factors. I feel that people who do interesting stuff (not just in software, but in all aspects of life) do it despite their backgrounds, conditions, and other labels. Of course there is poverty, and lack of basic education for millions of people, but there are also millions of people in India, and the rest of the world, who have the skill to do very interesting things.


"While it is true that my PhD experience at UC Santa Barbara was crucial to my network of collaborators and work on Julia, there are several contributors to Julia from India who have not gone for graduate studies abroad. There are many contributions from undergraduates as well. I am just glad that Julia is a living breathing open source project with significant contributions and work from around the world, including India."

It reminds me of the collaboration between Hardy and Ramanujan. To me, the significant contributions from around the world, including India, represent Ramanujan working on his own in India while your PhD experience at UC Santa Barbara could be comparable to that of Ramanujan working in collaboration with Hardy at Cambridge. Hope that is not an overstatement. Your work should serve as an inspiration to many in India. Thank you for giving us a language to code in.


Indeed! Thank you for all the great work.

I was aware of large-scale project a few years back called FOSSEE (centered at IITB) which was promoting Python and Scilab. I'm not sure if they're still alive or whether they've run out of funds. Prabhu Ramachandran (of the Mayavi fame) was one of the key people behind it. Seems like something they ought to be funding.

Anyway, kudos to Simons foundation for funding Julia's development.


Manish Goregaokar[0] is a well-known Rust developer, and afaik he studied at IIT Bombay before going on to Mozilla. (Apologies if this is incorrect.)

[0]: https://github.com/Manishearth


It's true that these institutes haven't started something revolutionary, but there has been considerable amount of work in the right direction. I think there are multiple possible reasons behind it: 1) Most of the undergraduate students from these institutes either go study abroad or take up a job; which leaves only a fraction of the top students in these institutes. 2) Students who come for MS in these institutes have to clear GATE exam and most of them, according to what I have seen, join these institutes just for getting a good job and not for serious research.

Disclaimer: I work at one of the top institutes you mentioned.


Institutions are ultimately people and incentives. I have met with a number of researchers in these institutions where people are doing amazing research and I wish that they were able to contribute those advancements in the form of code in Julia.

Even as we worked on Julia, we have been snubbed by some who think Julia is not real research, and had a hard time getting papers published. There is a larger issue of how open source foundational software gets developed and incentives for people who do that. Universities incentivize writing papers, not software, unfortunately.

Eventually, it did work out and SIAM Review published our Julia paper.

https://julialang.org/publications/julia-fresh-approach-BEKS...


If it is poverty, they could start such projects after 2 years in industry, after they become somewhat comfortable. It is somthing else.


That's not how poverty works. Poor people don't suddenly change their mindset once they become rich. Some never change it.

Poor people are usually still afraid of falling back into poverty plus they still have poor friends or relatives who might rely on them.


Given a choice between surviving and building something new, anyone would choose surviving. The red tape in India even now is atrocious. Recent raids on sales tax enforcers turned up corruption money in truckloads.


Why every Indian programmer has a burdon to prove that he/she is not an IT coolie ? How's is that less racist than some redneck assuming all black people are thugs ?


I am from Hyderabad, India and felt racist reading that title - "IT coolies". I believe the author just want to make headline.

A lot of innovation happens that gets unnoticed in Silicon Valley or around the world. People here do not have access to mentorship & peer network so easily (openly available in California), still being self-motivated and connected by reading tech blogs, advises, etc. Just top of my head are following two examples.

* Little Eye Labs => Facebook * HackerRank ==> YC


Perhaps OP is just trying to point out that talents aren't just in Silicon Valley.

It can also be seen as a counter example against those other articles about how Indian programmers aren't qualify.

I don't see it as a negative race baiting whatever but more as the above sentence (goto: sentence above).


"I am from Hyderabad, India and felt racist reading that title - "IT coolies"."

That's why I edit the titles, totally missed the point of innovation from a foreign hacker widely used in SV and around the world. Point proven.


> some redneck assuming

I'm not sure that's less racist…


Data is generally not "racist", it is what it is.


What data ?



It's a comparison between apples and oranges. If he is creating a language he is at least 10x guy and they are in high demand and don't have to bother about the things 1x devs have to worry about like... getting a job or getting financial stability. The problem is always with 1x guys taking jobs of another 1x guys from another nation.


Simple economics when supply is in shortage demand increases. The shortage for 10x devs are so much that the worst a 10x guy from another country can do is reduce the salary of another 10x guy. But with the 1x guy it's a live or die situation, their job is in danger because 1x guys are too much in supply.


That's sad


Viral, how far away are we from a deep learning framework in Julia ? It looks like there are many streams, from GSoC mentoring proposal for what seemed like a CuDNN layer, to a LLVM backend for CUDA/SPIR-V. I figure it'll take atleast 2 years for things to stabilize.


I assume you are not speaking about MXNet.jl and TensorFlow.jl, which are really good, and in some ways, even better than the Python wrappers for those libraries.

There are several pure Julia DL frameworks - Mocha.jl, KNet.jl and Merlin.jl. What will make things really exciting is native GPU codegen, which has recently landed in Julia, but will take some time to stabilize and make its way into these packages.

We do have a deep learning workshop and a GPU workshop in this year's JuliaCon covering the state of the art and the way forward.


I know at least one YC fellowship co that was using Julia in production.

There was like 1 evangelist at CMU who used it for their work. The deep learning wave kinda took things in a rather different direction.


What kind of introduction is this?

"In India, the formula for success is drilled into children from a very young age: get good grades, go to an elite Indian Institute of Technology (IIT), move to America, and never come back."

So parents will drill this into their kids? Never come back?


Alternative is the new black. Or maybe it is the new indie?


Why can't people just settle on Python? Julia is going to die anyways in the near future.


The same reasons people migrated to Python in the late 90s from matlab, Fortran and C++: Python addressed pain points in those languages and ecosystems. Julia addresses deficiencies in Python the language. Unfortunately, it lacks the ecosystem: until it gets the rich library set that Python has, we're stuck with Python since ecosystem is arguably more important for practical traction than the base language.


I don't know how well it works, but Julia does let you use python libraries.

    @pyimport matplotlib.pyplot as plt
    x = linspace(0,2*pi,1000); y = sin(3*x + 4*cos(2*x));
    plt.plot(x, y, color="red", linewidth=2.0, linestyle="--")
    plt.show()
https://github.com/JuliaPy/PyCall.jl


Works really well and a lot of python scientific software is part of a typical julia install.


Glad to hear that. Will it be possible to overload . in the future?


There's been extensive discussion of that and yes, it may well happen [1]. The biggest concern at this point is how to avoid having people abuse such a feature by trying to fake out class-based o.o. code in Julia in a way that will look right but work poorly.

[1] https://github.com/JuliaLang/julia/issues/1974


On an infinite time scale, you are certainly right. We're all going to die pretty soon, and so will our programming languages.

In the meantime, though, Julia seems rather healthy, and this particular Python fanboy is nevertheless interested where Julia will take us!

Julia is not an aggressor. It's not even a competitor. Rather, it is another stab at improving scientific computation. Let's focus on trying to learn from Julia instead of spreading FUD.


I fully agree with this statement. We hope to move forward and help create new things rather than replace something today. And of course, Julia is not the last word on this innovation either!


Julia is better than Python for a lot of things - basically when you can't vectorise your algorithm and don't feel like writing C++.


Python has numba, which is equally backed by LLVM. What makes Julia interesting compared to Python IMO is its macro system much more than its performance benefits.


Although unequally inconvenient when working with user-defined types. Possible now (wasn't always) but not seamless. Are there examples of libraries that depend on Numba?


What makes you think that about Julia?


If Julia's death was a foregone conclusion then you wouldn't have to ask this question!


I see Python fan following everywhere when there is a discussion on languages!! Someone is always there to defend :P


Some time back, I saw an Ask HN post by someone who wanted to know how to become an evangelist for a language or a framework. I wonder if that's something that motivates comments in forums such as this.


Reading this post it seems that Julia is the silver bullet for every programming problems (or at least the ones addressable in python). I guess it's not. It is just another (very useful, admittedly) tool for the job. I really can't stand when every new language or framework or technology or whatever tries to be THE silver bullet. How long it will be before we learn that such a thing doesn't exist and we are always going to learn new tools to solve problems in a hopefully more efficient way? Maybe in the future we'll have such a thing, but I bet my 2 pennies that it won't be either Julia or any of the existing languages.

Edit: speaking specifically about the language I think that it's a very good effort and it can be only a good thing for the current languages ecosystem, even if I don't appreciate some of its idiosyncrasies.


[flagged]


I think the downvotes are probably because the article didn't actually talk about Julia that way. And Julia definitely expresses a target audience and target problem domain. As a member of the Julia community, I don't see people jumping on board because of "fanboyism". People come because they have a problem that Julia is suited to solve and they have been disappointed with the alternatives.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: