IMO periodic website redesign and cleanup is a good idea as it does make it easier for users to find information and gives a comforting feeling of a professional look to new users.
HN user
prog
I am very interested in Perl 6. What would be the recommended implementation to use in production? What are your experiences with using it in production?
> Those that say that both India and China are rising powers are wrong as India will be left behind far behind China.
You statement seems very generic. Also, the two economies are very different (capitalism in India and communism in China) so I am not really sure if there is a good way to compare the two. There may be some truth in what you say but then democracy isn't really very good if speedy implementation of policies is what you are looking for.
I have seen things change (for the better) in India significantly over the last 20 years or so.
I also hear stories from my father (he is ~70 years old now) of his youth. During his younger days (~1970) if someone wanted to buy a car, you might have to wait for 7-8 years after booking for to actually get the car. This led to an interesting economic situation. For e.g. my father bought a scooter for INR 3000/- (~ $65 today) and sold it for INR 6000/- (~ $130 today) after 6 years. This worked because during those days people found it better to pay for an older scooter than wait so long for a new one. Today, one can just walk into a showroom and walk out with a car or scooter or motorcycle.
There was no concept of a bank loan in those days. If someone wanted to buy a home or such, you would typically borrow money from friends or relatives. Today banks chase you for giving you loans.
Even during my lifetime, things have become significantly more convenient and opportunities have grown considerably.
While there is corruption, the number of areas controlled by the government has come down significantly. Also, there are acts like the Right to Information (http://en.wikipedia.org/wiki/Right_to_Information_Act) which are helping in curbing corruption. There are private players in a lot of industries which were traditionally controlled by the government (oil, steel, telecom etc.). With the license raj gone starting 1990 (http://en.wikipedia.org/wiki/License_raj) thing are definitely looking good.
I have seen significant improvements in the way SEBI (http://en.wikipedia.org/wiki/Sebi) handles the equity market. The room for frauds has gone down in this areas even in the last ten years or so since I have been following the SENSEX (http://en.wikipedia.org/wiki/Sensex). SENSEX has moved from ~1900 in 1991 to ~19000 today. 1990 is when the license raj ended.
While there are a lot of things that can be improved and there is still a long way to go, I think there are a quite a few things that are going right for India at the moment. I do expect the growth to plateau in 15-20 years or so but at the moment things seem to be going well.
I haven't really been following the Chinese economy apart from the high level growth number that I tend to hear in news from time to time so I can't really comment on that.
Based on the article: http://solog.co/47/10-scala-one-liners-to-impress-your-frien...
> let java and the jvm just die, it's bad, it's all bad. the jvm was a bad idea
It may be a good idea for you to have reconsider that opinion on the JVM. Java as a language is arguable but JVM is definitely an engineering marvel.
You can look at languages like Clojure, Scala and JRuby on the JVM. It gets you the goodness of JVM plus a great language to use for your app.
While the answer is technically correct, its not very useful. If this entire thread just consisted of just Yes and No answers there would not be much value in it.
I have been using bzr for 2+ years now. For personal projects I am quite happy with bzr+launchpad. At work, we have been using bzr on Linux.
The move from 1.x to 2.x brought in significant performance and memory improvements.
Python recently had its 20th Birthday. The first public release was on February 20, 1991, Python 0.9.0 (released to alt.sources).
I started working on an app using Python 2.7. The only reason I chose 2.7 over 3.x was the lack of 3.x support in Django. I would be great to have Django support Python 3.x.
I have to agree. I like STL + Boost a lot. I hope to try glib + C sometime. From what I see, that might allow me to C and still meet standard application needs.
Plan X is especially good. Try the 'Reload for more' link.
Racket seems to be really neat with support for features like JIT and futures (which have been around before 5.1).
The other day I tried a simple benchmark (nothing elaborate - just fib) and found it to be significantly faster than Python. Unfortunately I don't have the numbers right now.
Does anyone have any experience to share regarding the use of Racket in a production app?
Its for the Magpie programming language. http://magpie.stuffwithstuff.com/
I have to agree. I don't really mind seeing articles like this on HN sometimes and I confess I submit some articles like this at times. The discussion here is what I am really interested in.
I tried Perl and moved to Python. With Ruby, I really like what I see. Unfortunately, I have spent quite a bit of time with Python and know it too well to want to move.
Perl can definitely be more compact than Python for regex and parsing but I am surprised that he need to move from Ruby to Perl. Ruby borrows much of the regex and quote syntax from Perl.
As someone who doesn't know much about MailChimp, the original question seems valid. A little more detailed answer (like the one by qeorge) would have helped me understand this better.
As you work at MailChimp, it would have helped if you would have given that detail.
I wouldn't say that.
Perl 5 is quite an amazing language once you get used to the syntax and begin to grok it. I say this as a Python programmer who has only recently begun to seriously learn Perl as my day job demands it. Earlier, I had used Perl only off and on for small scripts. I was always put off by Perl syntax and contexts. However, once I got over that and started using it seriously, it does have a lot of neat features.
One example, I recently got to know about attributes[1] (which probably people using Perl for some time may know already) and its neat uses. I can use attributes to do what I would do with a Python decorator[2]. IIUC, this feature has been in Perl since 5.6 (2003). Yes, I still like Python and I continue to believe that its easier to write bad code in Perl than in Python but I have a lot more respect, liking and understanding of Perl than I did a month ago. IMO Perl 5 is well positioned for meeting enterprise needs as it stands today. I understand this now after I spend the last 3 months debating and discussing with the architecture board of my employer to introduce Python as an officially approved language for our IT applications (I work for a large corporation so we have a lot of policies ;)).
As a language, I like Perl 6 even more based on what I have read[3]. I hope to spend some time playing with Rakudo sometime soon and eagerly await a production ready package.
[1] http://perldoc.perl.org/attributes.html
I would love to use 3.x but went with 2.7.x as I need Django, and cx_Oracle. Django is 2.x only, I haven't really checked cx_Oracle.
I have to agree. I am also mainly a Python programmer who had dabbled a bit in Ruby, but in the above examples, Ruby is definitely nicer.
I mentioned some of the reasons I stuck with Python here: http://news.ycombinator.com/item?id=1941594
Where _language_ is concerned, I think Ruby is every bit as nice as Python if not nicer.
In my experience, the content that shows up on both is comparable. The quality of HN content can be said to be marginally better as you don't see some silly screenshot getting upvoted to front page.
The main reason I prefer HN because of the quality of comments. Smart oneliners on Reddit were fun at first but they don't really provide any insight or value.
For Windows I found WinMerge to be quite useful: http://winmerge.org/
> With Vim you have to count the number of lines ahead of the operation, which is a real speedbump.
With Vim 7.3, a new option 'relativenumber' was introduced to help with this.
From :h relativenumber
Show the line number relative to the line with the cursor in front of each line. Relative line numbers help you use the |count| you can precede some vertical motion commands (e.g. j k + -) with, without having to calculate it yourself. Especially useful in combination with other commands (e.g. y d c < > gq gw =).
Qi is very interesting. However, Mark Traver is now working on Shen which is a successor to Qi II. Here is a post by Mark on Shen. http://news.ycombinator.com/item?id=1921347
The pdf says "version: 9 September 2010". I haven't read it yet so can't comment on the content.
I am more of a Python guy but being a language enthusiast I like to learn and experiment with other languages. Ruby the language is something that I found to be beautifully designed and I really like a lot of its concepts (especially pure OO and blocks which come from Smalltalk). While I know Ruby by writing small scripts and reading the pickaxe book, I have really been wanting to use Ruby in a medium scale project. These sort of articles scare me. Some of the reasons why I haven't gone into Ruby fully are:
* Most of the information is web/rails centric. I generally write unix server apps/tools which have nothing to do with the Web.
* The standard library packages have weird names so its difficult to find. E.g. With DRb it wasn't immediate to me what it does.
* The stdlib documentation is a little lacking. I read the pickaxe book but the stdlib documentation doesn't compare with what I am used to with Python.
* Based on the posts I have read it seems to me that there are multiple libraries that do the same job. So it becomes difficult for a noob like me to know which lib I should invest my time in.
* Articles like these are scary for a Ruby noob like me. For example, I was excited about DRb when I first read about it. Now, in the first of these 'stdlib is ghetto' articles, apparently DRb is not very nice. Thats just confusing to me.
I think Ruby is a really neat language but the Ruby community needs to stop confusing people who want to try it out.
Most open source projects are always short on contributors. Pick a project thats of interest to you and start contributing documentation, patches, tests etc. Be open to review feedback for existing project devs. You will lean a lot and have fun in the process.
What to read would be related to what project interests you. If the project needs C, read up on that. If it needs Python/Perl/Ruby read up on that. Something like 'The Art of Unix Programming' (http://www.faqs.org/docs/artu/) is always useful.
Good luck :-)
Large companies still seem to prefer Perl. I know both Perl and Python but for larger programs I tend to prefer Python. I had a tough time convincing the management that it we should use Python for a project (I expect it to be 20-30KLOC in Python). Perl is the default scripting language in my organization. Default not as in policy but its what programmers reach out for as thats what they know. I think this might be the case in most large companies. Most programmers just know that Python exists but not much more.
Even where Perl is concerned, I don't think most developers in my organization care about writing good code. I spent a lot of time dealing with a large code base last week that uses a hash with hundreds of keys as a means of passing data between functions. No one even bothers with cpan much.
I recently started a new project but had to go for 2.7 instead of 3.x due to the lack of 3.x support in Django. I would have loved to use 3.x. Oh well.
I have been using bzr with a team of 4 for some time now. Moved from ClearCase UCM and haven't looked back. :-) As most people had experience with cvs and svn the command set was easy to pick up. We just needed to put together a policy with integration branch and user specific product branches. It was a unix only install so standard unix groups/perms were used for these directory hierarchies.