Hacker Newsnew | past | comments | ask | show | jobs | submit | more PythonDeveloper's commentslogin

Suggest Python... it has the benefits of both.. You can get Ruby-like efficiency in web development, and you can build robust desktop apps using WxWidgets and other similar gui libraries. An added bonus over Ruby, it's readable ;-)

Of course, I'm biased...


The funny thing is, I encouraged him to learn Python first, precisely because of its efficiency and flexibility, etc. I pointed him toward "Learning Python", the absolutely massive book from O'Rielly, and Learn Code The Hard Way for Python.

I have no Ruby or Python experience, but my friend claims Java is easier to learn... At least from his perspective.

Basically, I tried to convince him to learn Python before compromising on Ruby. If you could make a convincing case for him to learn Python instead of either Ruby or Java, I'd be much obliged.

Note: I suggested he learn Python or Ruby because I think he's going to end up in the startup scene, where those are the de rigueur languages (alongside the HTML5 family of markup/programming languages).


I suggest Learn Code the Hard Way by Zed A. Shaw (http://learncodethehardway.org/). It's online, it's free and it's brilliant. I'd suggest him to go with Python as his first language.

If he wants to be a good programmer, he should be able to pick up languages rather quickly after he learns his first one. So switching language is not an issue. Keep in mind though, learning the first one will take some time.


Yeah, this is a great option. In fact, run the full gauntlet. Zed mentioned in the blog that you could start out with Python, hit the SQL and Regex books and then move to C. By this time he might have the objective C book done and you could hit that one also. At this point you pretty much know what you need to know for building both web and mobile apps.


I'm not sure easy to learn needs to be your first criteria. My list goes something like this...

1. Best tool for the job. This is heavily weighted towards what I already know if my familiar tools are good enough but not otherwise my first choice.

2. This could be a subset of #1, but library availability could be a deciding factor.

3. Availability of documentation. A lot of comfort comes from finding those gold mines of great documentation. I would argue that Ruby (and community projects built in Ruby) has been the weakest among the top web programming languages for documentation, but this is just a "shoot from the hip" feeling.

Perhaps your real battle is finding better learning materials than that of what your friend has found? Also, even if a language is difficult to learn, with good documentation and daily practice, then level of difficulty shouldn't be an issue. The bottom line is that your friend will have to put in X number of hours to get experience no matter what path he chooses. For example, given a year of sustained effort, your friend might have been further with Ruby than he would have been with Java, but not by much. He would have a good amount of knowledge either way.

Javascript might be another interesting option. If you are doing web development, then you have to learn it eventually. You can do front end and back end. However, Node for the back end probably isn't the best way to go for beginners because of point #3.

Another consideration might be the path to landing a job. I started out with freelancing and PHP has been good because the market for it is huge. However, much of that market is CMS related (Wordpress, Drupal, etc) rather than building apps from scratch.


It means you don't get a board seat, and you probably get common, non-voting stock.

Sadly, it probably comes WITHOUT an anti-dilution clause, meaning that any new stock allocated will dilute your 5%. As a company progresses through its capitalization phases, new stock is likely to be allocated, usually in new classes that offer more protection to the investors, and less protection to the "monkeys" like us.

Your "5%" will likely be converted to a number of shares at the time it is executed, and that number of shares will likely NOT be 5% of the total number of shares available when a liquidation event (IPO/Buyout) occurs.


"It means you don't get a board seat, and you probably get common, non-voting stock." Most likely this is what it meant.

Although it might not be as bad as it sounds like in your explanation. I dont think anti-dilution clause is common, but I may be wrong


and just to support my assumption here is thread on quora on anti-dilution http://www.quora.com/How-common-are-anti-dilution-clauses-fo...?


db4o is not unique in the claims it makes. I can store objects from any language in any database. The only requirement, and the reason why db4o only supports java and .NET, is that the language must support serialization of the object in both directions.

I have used this methodology along with Memcache (as a real-time database) in C#, PHP, Python, and Java, as well as storing those objects to PostgreSQL databases.

That said, I don't think I would use db4o simply based on it's claim to be able to store serialized objects. PostgreSQL, my database of choice, has trillions of user hours on it and is well supported by hundreds of thousands of users.

NoSQL databases store the tuples (or tuple-like structures) in indexed form, which is convenient but can be inefficient. I prefer to store only the pertinent tuples for indexing, and the serialized blob by itself as a non-indexed element.


I've used 'em all... I like GoDaddy, but their UX is very confusing. Name.com ( http://www.name.com ) is my choice of late. No crap, easy UX, and they actually have an awesome DNS management tool.


Thanks. Tried that. Wells Fargo(tm) states that until it clears, they cannot (read "will not") do anything.


I see your point, but the same quality filters could be had simply by assigning tags, and allowing members to upvote projects.

Let me see what the staff decides is tagged HOT. Don't decide FOR me what is hot and what is not by exclusion.


prints the following: "Simon Tatham"

Specifically, it takes a power mapped string sequence and shifts the values off. Each set equates to a line of #'s and spaces. Pretty ingenious, actually.


How exactly is he using the pow function? It's a number to the 37th and then mod 0x13AC59F3ECAC3127065A9, how did he select the numbers and why is he doing that operations?


What it's doing is computing row = x * * 37 mod 0x13AC59F3ECAC3127065A9 with seven different values of x. The "row" bit i encodes either a 0 (for space) or 1 (for hash), for i in range(0, 79). I think that part of the output you understand.

The question is how to get the values of "x" and how to get the modulo value. You just need to compute row * * (1/37) mod 0x13AC59F3ECAC3127065A9 . I can't for the life of me recall how to do it, but you can see the result at Wolfram Alpha: http://www.wolframalpha.com/input/?i=x+**+37+mod+14864685590... .

How then do you get the 0x13AC59F3ECAC3127065A9? It needs to be relatively prime to the values, and larger than any of the output values. Beyond that, I don't know why that specific (composite, with two factors) number was chosen. Nor do I know why 37 was chosen.


I think you're on the good track. Since there are no new suggestions, my opinion is:

http://en.wikipedia.org/wiki/RSA_(algorithm)

The answer to "why" is: he's the author of the Putty SSH client, and he decided to use the bignum feature of Python to demonstrate the encryption in as little code as possible and make the signature out of it.


Nice story... but it doesn't scale :)


The best tool for the job is the tool that lets you finish and ship a product.

Try Python ( http://www.python.org ).

It's free, easy to learn, uses the latest in methodologies, has massive community support, and you can have an app up in 10 minutes.

You can also add django if you want a very well thought out framework with scaffolding, enhanced models, etc.

Check it out on YouTube: http://www.youtube.com/watch?v=tKTZoB2Vjuk


SOLD! I want 10 units RIGHT NOW.


Even I am planning to buy some 100 odd pieces for xmas gifting purpose hence looking for reviews before putting up order.


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

Search: