TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: Advice choosing a general purpose language for the future?

9 点作者 Swinx43大约 10 年前
I have spent the majority of my career so far building large scale enterprise Data Warehouse and Business Intelligence solutions on the Microsoft SQL Server stack.<p>In my spare time I have managed to learn some Python which I have used for small pet projects. (I also managed to find time to do a Python Programmer certification through the O&#x27;Reilly School of Technology)<p>I want to break out of the pure Data Warehouse and Business Intelligence space but keep finding myself jumping between different programming languages. I have actively tried to avoid C# as I feel that I do not want to tie my skill set completely to Microsoft technology.<p>I like Python a lot but truly dislike the fact that I cannot &quot;compile&quot; projects into executable solutions for Windows at times. Similarly it can’t be effectively used for mobile app development. (C# with Xamarin seems to make sense here.) However Python does seem to play really well with a lot of the different Cloud platforms out there, especially Google&#x27;s Cloud Platform.<p>Java would be another candidate but to be honest I would rather settle on C# instead of Java. The C# tooling feels much better than the Java tooling plus I find it really difficult to get excited about coding in Java after using Python.<p>Is there any one language that would provide me the best of all worlds, allowing me to build applications across Windows, Linux, and Mobile and tie in well with the cloud services from Google, Microsoft and Amazon? I truly feel like a dog chasing cars when it comes to programming.

4 条评论

haxiomic大约 10 年前
It depends on what you hope to use it for.<p>I tend to haxe for my side projects and it sounds like in principle it&#x27;s not far off what you&#x27;re looking for.<p>The haxe compiler outputs js, python, c++, java, c#, php (along with a bunch of others) and bares a lot of resemblance to c# or java. For personal projects it&#x27;s perfect - write once, run natively everywhere, and with a single codebase for client and sever.<p>But there are good reasons not to use it too. Its community is still fairly small and highly game-dev-centric so you&#x27;ll probably have trouble finding the sort of high quality data science libraries you might find with a language like Python. That being said, haxe can take advantage of libraries on its target platform, so if you&#x27;re compiling haxe to python, all the python libraries are available to you. The next problem with haxe is that it&#x27;s the job market for it is still very small compared to the other major languages.<p>So it&#x27;s ideal for personal projects, where you just want to get as much done as possible without being bogged down by platform specifics, but unless you&#x27;re in game dev, you&#x27;re going to struggle to get employment from it.<p>I agree with anon3_ that Python&#x27;s a sensible choice for employability and compatibility. Node.js and ES6 are worth a look into too, especially if you&#x27;re looking to get into server-side work. Because of its popularity, there&#x27;s an awful lot of weight behind javascript and it doesn&#x27;t look like it&#x27;s easing up any time soon.
评论 #9514525 未加载
brudgers大约 10 年前
Learning a third language after C# and Python will make you a programming polyglot regardless, so why plan to artificially limit yourself to three?<p>Message passing Ruby, homoiconic Lisps like Clojure, or the diagramatic J is each, like the languages you know, better for some things than others. Finding &quot;the language of your soul&quot; doesn&#x27;t start with a specification. Comfort with picking up new languages is a sound long term skill.<p>Good luck.
评论 #9512738 未加载
oweiler大约 10 年前
Kotlin<p>- best interoperability with Java of all JVM languages (except Groovy) - language support for DSLs (in the form of extension function literals) - statically typed - type inference - non-nullable types - smart casts - properties - elvis operator - much easier to learn than e.g. Scala but also less expressive
anon3_大约 10 年前
Python:<p>- useful glue-language<p>- prominent C API.<p>- It handles web applications, scientific applications, shell-scripting, data-processing.<p>- It&#x27;s installed on virtually every OS X and Linux&#x2F;BSD machine.<p>- job market is active and work tends to pay well.<p>- The contrib (open source, permissively licensed libraries) are robust, abundant and well-documented.<p>- The standard library is also.<p>- Python 3 unicode support + python 2.7 support via unicode_literals<p>- Support for deployment to Google&#x27;s cloud, Amazon, Heroku<p>- Many prominent tech companies (facebook, google, dropbox) sponsor and release open source applications for python.<p>- Faster implementations such as Pypy (a speedier, pure-python implementation) and Pyston (LLVM implementation) are under active development<p>- REPL via bpython, ipython, ptpython is great<p>- Mature language (around since the 90&#x27;s)<p>I could go on and on. You can&#x27;t really miss with python, it&#x27;s a &quot;safe language&quot; from a job perspective, but also superb should own your desires go to freelance, your own startup, etc.
评论 #9512550 未加载