我是一名前C++程序员,他最近发现了(并且贬低了)Python.我花了一些时间才能合理地熟练使用Python,但是我遇到了一些令人不安的现实,可能导致我把它作为我选择的语言,至少目前是这样.我写这篇文章是希望那里的人可以通过说服我在python宇宙的范围内轻易绕过我的担忧来说服我.
我在寻找一种灵活的语言时选择了python,这使我能够在各种平台上快速构建端到端的工作系统.其中包括:
- Web服务
- 移动应用程序
- 用于PC的跨平台客户端应用程序
开发速度在当前优先于执行速度.但是,为了在不需要重大写入或架构更改的情况下提高性能,我认为必须能够轻松地与Java进行交互.这样,我可以使用Java在应用程序扩展时优化特定组件,而不会丢弃任何代码.
据我所知,我对具有大型开发人员基础的企业级,平台无关,快速语言的要求意味着它必须是Java.由于各自的限制,.NET或C++不会削减它.对于大多数移动平台而言,Java显然也是最重要的.
不幸的是,悲惨的是,似乎没有一种好方法可以满足所有这些要求.
Jython原则上似乎是我正在寻找的东西,除了它似乎几乎死了,没有人在很大程度上发展,支持或使用它.而且Jython似乎与Java库结合得太多,因为你不能使用它的许多CPython标准库,这对你最终编写的代码有重大影响.
我能看到的唯一其他选项是使用包装在编组类中的JPype,虽然看起来很痛苦但可能会起作用,我想知道从长远来看它是否值得.
另一方面,我正在寻找的所有东西似乎都可以通过使用JRuby获得,这似乎更好地支持.事实上,我认为这是我最好的选择.我很难过,因为我非常喜欢Python的一切,包括语法.在可读性方面,Ruby中的perl式构造只是向后退了一步,但最终在Ruby中也可以获得python的大多数好处.
所以我问你 - 我在这里错过了什么?我所说的大部分内容都是基于我所阅读的内容,所以对当前版本的总结是准确的,或者是否有一些神奇的解决方案可以解决这些问题并让我轻松地留在这里我快乐的蟒蛇的地方?
谢谢你的帮助!
GS.
我正在尝试编写一些小javascript但几乎没有这方面的经验.
我已经阅读了帖子,建议<head>中的<script>块保证在<body>中的那些之前运行,但我看到了完全相反的行为.有人可以向我解释为什么我会看到这个吗?
这是我简单的测试页面:
<html>
<head>
<script type="text/javascript">
var test_msg;
function initMap() {
test_msg = "This is a test";
window.alert('initMap: ' + test_msg);
}
</script>
</head>
<body onload="initMap()">
<script type="text/javascript">
window.alert('blargo: ' + test_msg);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我加载它(在Firefox或IE中)时,我看到2个消息框:#1:"blargo:undefined",#2:"initMap:这是一个测试",表明后面的脚本首先被执行.
谢谢你的帮助,
gs.