For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more dnu's commentsregister

Well, regarding yout API example, Python 3 introduces function annotations which let you specify the types of the parameters and of the return value. These types are not checked by the interpreter, leaving this job to the programmer (or framework).

http://www.python.org/dev/peps/pep-3107/


Then we must increase the liability. When patent owners want to sue for damages worth $1000000, make them pay $1000000 in a 3rd party bank account BEFORE that.

If they win, then they get their money back plus the damages. If they lose, then the defendants can pay their legal costs from those $1000000 (and the reminder goes back to the patent owner).


I am in favor of that solution, but there needs to be some constant of proportionality:

If you have a patent worth $1M, it is reasonable that you can finance a $1M bond.

If you have a patent you believe (and sue for) $400M, it is less likely that you'll be able to finance that bond unless you are Microsoft.

So, it needs to work out to a percentage (1%-5%) of what you sue - but probably something like "and you lose at least half of that even if you pull it back the next day".


It depends on how large the code base is. Rewriting a 10k LOC project isn't a big deal, compared to a 10 mln one. And a rewrite doesn't have to target performance only, but ease of maintenance too.


If ease of long-term maintenance is a goal, then JavaScript is the wrong approach.


Well that's just, like, your opinion man.


You have better ways to ask for explanations. Not the OP but I can give some reasons for Javascript and Node.js to not be the best option for a rewrite if the goal is longterm maintainability:

- js / node.js is very young, it might fade out of fashion, and in 10 years it is not impossible that good coders in js will be hard to find.

- Readability and simplicity are prominent in this context, and js has a syntax that is less than optimal in this regard.

- Maintenance tooling may be lacking.

If I were to choose a language for a project that I new will be big and will need care in 10 or 20 years, I'd hesitate, and maybe choose Java (which I hate) or Python (which I hate less). If in a risk-things mood, I'd give Go a try.


Technology and business requirements move too fast to worry about writing software that will be around 10 years from now. Choosing the best technology for your particular use case, that will also allow your software to evolve over time, is much more important than trying to predict the future.

Also, I've gotta say, you completely undermined all 3 points of your argument by saying you'd choose Go.


> Technology and business requirements move too fast to worry about writing software that will be around 10 years from now

This is a common belief but I do not think it applies very well in most cases. If you write the last pic sharing thing, maybe you can dismiss worries, but if you build the next Google, entreprise or scientific software, or even something like Github, you should hope your baby to be well and alive in 10 years, and choose your tech stack accordingly. I guess.


Google in 2002 was nothing like Google in 2012. The only thing the same is the name. The entire software industry has changed at least twice in the last decade or so. If more than 10% of the original code that powered Google is still in production, I would be absolutely shocked.

Remember how Twitter was originally written in Rails, and then it collapsed under its own weight when they tried to scale it? Their business requirements changed, so they rewrote the parts that needed to be rewritten. On the flip side, if they had originally set out to try to build the system that now powers Twitter, not only would they likely have built the wrong thing entirely, they never would have launched.

Software services are evolutionary. You have to always be willing to burn pieces of it down and rewrite them as conditions change around you.


> Software services are evolutionary

Sure, but changing the tech stack is much harder than rewriting some parts of it. And some setups are easier to adapt than others. Thus choosing the best available option when starting a new project is important, and the likeliness of the technology to be alive and well in ten years should be taken into consideration, among other parameters (your own experience, the current availability of good developers).

Moreover, the "trendiness" of a technology should be counted as a negative factor, because it would tend to be overestimated and cast shadows on potentially better (but less sexy) alternatives.


I don't think he undermined the second, but would like to know your opinion. Here is mine:

"- Readability and simplicity are prominent in this context, and js has a syntax that is less than optimal in this regard."

Go code is almost always very simple and readable. What makes you think him choosing Go undermines the simplicity and readability arguments?


Simplicity and readability are subjective criteria. In my opinion, Go has many merits, but readability is not one of them.


Just out of curiousity, what are your top 5 most readable programming languages that you've used?


Of the languages that I possess more than just a passing understanding, I'd have to say: CoffeeScript, Ruby, Python, JavaScript, and C#.


I don't see how finding JavaScript programmers is going to be a problem in 10 years... even if they started now it would take, at least, that long to fully deprecate the language out of the browser. NodeJS may go away but I think betting on JavaScript going away are some pretty long odds.


Node.js may be young but 98% of the code can be reused (and if you are careful, you probably wrote the fallbacks already). V8 can be built separately.

When you understand the zen of javascript and try to write in a consistent manner, JS is more readable than C. I equate these concerns with arguments about how lisp or scheme is unreadable.

The ecosystem for tooling is expanding, albeit slowly.

However, most of your code probably could be implemented in a way that can be run in browser (e.g. XLS parser: http://niggler.github.com/js-xls/) which is where I see the real value in node. Aligning the languages means fewer moving parts and potential points of failure (as opposed to having to worry about quirks in implementations of many languages and worrying about features supported in one context but not the other)


Well, I see that they offer to "Install the Ask toolbar" by default. I don't remember Sun doing this.

http://www.java.com/en/download/faq/ask_toolbar.xml


This I am genuinely annoyed with. I am going to start a petition to Oracle for these points, the Java community is extremely large and valuable and it's a disgrace to treat the platform this way.


I am doing some research, apparently this is only for the online JRE install, and it's been there since 2011.

Sun JRE install once peddled OpenOffice and Google Toolbar, but at least OO is better than Ask. Ugh.

They need to get rid of this, it's an embarrassment.


I got a McAfee something or other offer bundled with the installer. I don't know why Sun and Oracle did this, it gives the installer the look of shady shareware shit.


Yeah, I clicked okay on McAfee Installation, and he showed up 45 minutes later, with a teenage hooker and a ton of drugs.

He had good booze, but otherwise, sort of an asswipe.

Sent the girl home with a police matron.


One of the reasons Sun was gobbled up by Oracle is they could never figure out how to monetize their "extremely large and valuable" Java community. I don't like the toolbar spam any more than you, but Oracle doesn't have an obligation to provide a money-losing product.


Easy, write a mobile operating system that uses Java for all the apps- then license that to hardware OEMs until you've got a stranglehold on mobile OS, like the Microsoft model on desktop.

I am saddened that Google didn't buy Sun. Maybe they'll buy Oracle and the optical barrier over the valley will dissolve and reveal it is actually a portal into Hell.


Not good for a house, but very useful for apartments in large buildings. You can have one wireless AP in each room (connected to eachother with wires), and almost no interference from the neighbours.


Is there no developing, competing standard that improves on current WiFi without these drawbacks?


802.11n on the 5GHz band (most implementations use 2.4GHz) already does this. The real problem is the 2.4GHz band, which is simply over-saturated. 2.4GHz also penetrates walls really well, which is a drawback in apartment situations because it introduces more interference from neighboring access points (and many other devices operating on or near the 2.4GHz frequency - wireless phones, microwaves, etc.).

I've used a 5GHz 802.11n AP in my last two apartments; it's worked great every time. Most of the time I don't even see any other access points in range. Even if there are other APs, 5GHz has many more frequency bands available, so avoiding interference is simple. The only drawback is that so many devices don't support 5GHz. My smartphone didn't until I upgraded to the SGS III, and my Nook still doesn't.

Also, 5GHz is faster because the spec allows 40MHz channels.


So would pushing for 5ghz N be better than 60ghz?



Yes, but it can also use several channels. This plus the AC standard becoming more popular will lead to overcrowding in 5 GHz also.

2.4 GHz has 3 non-overlapping 20 MHz channels.

5 GHz has about 23 non-overlapping 20 MHz channels.

Both go through walls, so you will get interference from neighbouring apartments no matter what technology you implement. The only solutions are to use a much higher frequency, or shield your apartment walls.


On the other hand, China has a lot of investment to do in its western part of the country.


Yeah, that's my point. China can't modernize so quickly because it has a large hinterland that SK and Taiwan don't.


As a first step, you could expand to other JVM languages (like Clojure, Scala, Kotlin, ...)


There are two different projects. What you're talking about is the Ubuntu for Android.


But it's limited for 1 or 2 years. After that you have to pay if you want that extra storage.


If men can't develop empathy, why does the (old) war propaganda show women and children who need to be protected from the "evil enemy"? How come a man can willingly sacrifice himself for the common good? And yes, a man does create life, together with a woman.

Now,

- could it be that men are over-represented on the both ends of the spectrum(s)? Genius - Retard? Empathic - Cold blooded murderer? and so on...

- how much funding do men related healthcare programs get? ie: "Obamacare" goes to great lengths to avoid mentioning "men" at all

- how many mass shooter men were being raised by a single mother? How does the lack of a father affect a boy?

- how does the increased age of a woman giving birth affect the mental health of a child?


I didn't say men can't develop Empathy.

Not enough of us spend enough time developing it, while the wonderful women in our world often have a headstart, quite often due to Men to begin with, lol.

I think the points you're speaking to might be better addressed by our fairer gender. :)


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search:

HN For You