产品环境中Go语言的最佳实践

在SoundCloud,我们为客户构建了产品的API。或者说,我们主要的网站、手机客户端和手机应用是该API的第一批客户。该API背后是一个领域性的服务:SoundCloud基本上以面向服务体系结构的形式运作。

 

我们也是通晓多种语言的组织,因为我们使用了很多语言。并且这些服务(和基础设施支持)的许多部分是使用Golang开发的。事实上,我们都是早期Golang的使用者:目前,我们已在产品中使用Golang有两年半的时间。相关项目包括:

Ba[......]

阅读全文

50行Python代码写一个语言检测器

你有没有曾经好奇过Chrome浏览器是如何知道一个网页的语言,并对外国文字的网页提供翻译服务的?或者,Facebook是如何翻译你朋友用写在你主页上的外国文字?检测一种语言实际上非常简单,改进了用户体验,而且不需要用户做任何的事情。 [......]

阅读全文

编程语言IDE对比

IDE是集成开发环境的英文缩写,所谓集成开发环境,就是将你在开发过程中所需要的工具或功能集成到了一起,比如代码编写、分析、编译、调试等功能,从而最大化地提高开发者的工作效率。

每种编程语言都有一些特定的IDE,本文将简单为你介绍这些IDE之间的区别,希望能够为你选择IDE时提供一些帮助。[......]

阅读全文

35个有关Python的小技巧

从我开始学习python的时候,我就开始自己总结一个python小技巧的集合。后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里。这篇博客其实就是这个集合整理后一部分的公开亮相。如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了,但我想你应该也能发现一些你不知道的新技巧。而如果你之前是一个c,c++,java的程序员,同时在学习python,或者干脆就是一个刚刚学习编程的新手,那么你应该会看到很多特别有用能让你感到惊奇的实用技巧,就像我当初一样。 [......]

阅读全文

编程语言中一些令人抓狂的规则

许多年前在编程语言设计和操作系统设计上的选择可能当时看起来无关紧要。但是,这些远古的决定至今仍然继续困扰着软件开发者。

程序员使用的是别人开发出来的编程语言和操作系统以及各种开发工具。一些语言开发和系统设计行业里的前辈以前所作出的决定在那个时候可能是很有意义的,不过在现在看来可能是多此一举。[......]

阅读全文

Wolfram:革命性的基于知识的编程语言

什么是Wolfram语言

根据作者Stephen Wolfram 的说法,这门以他的名字命名的语言是一门高度发达的基于知识的语言,该语言统一了广泛的编程范例,可利用独特的符号编程给编程的概念赋予了全新的灵活性。简单来说,这是一种基于知识、符号编程、自然语言风格的超大型编程语言,是 Wolfram 此前两项里程碑式的作品—科学计算平台 Mathematica 与计算知识搜索引擎 Wolfram Alpha 的结晶。[......]

阅读全文

提高编程能力的7条建议

编程是非常酷的一件事情,但是在酷炫的背后它对很多人来说还是挺难的。很多人在学习编程之初就被困难击败了。

当你不熟悉编程的时候,你可能会觉得无从下手,并且不知道如何运用学到的知识。只要你通过了这一困难的学习阶段,你就会发现一个全新的世界。

以下是一些能够帮助你快速提高编程技巧的建议。[......]

阅读全文

程序员必知的编程语言编年史

我们都知道,编程语言是一组用来定义计算机程序的语法规则。它是一种被标准化的交流语言,用来向计算机发出指令。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。之所以有那么多种不同的编程语言存在的原因是设计程序语言的初衷不同,对语言学习曲线的追求不同,不同程序之间的运行成本差异等。[......]

阅读全文

Java那么健壮,怎么会挂?

Dr. Dobbs主编Andrew Binstock日前发布了一篇关于Java的帖子《Java那么健壮,怎么会挂?》。该帖发出后立刻成为了各大科技网站的讨论热点,并很快收到了近1000条回复。Andrew Binstock似乎早就预料到了会产生这样的局面,因此在1000条回复产生后,他立刻又写了一篇关于网友回复的帖子,再次阐述了自己对网友的回复的一些观点。[......]

阅读全文

如何学会600多种编程语言

几周前,做为8th Light公司的实习生,我从CEO那里拿到了我的工作成绩报告。在与CEO的会见期间,我发现了一个对如何做一个程序员的认识上的盲区。起初我以为,想扩展自己的软件职业道路,那就要学很多各种的语言。我现在就要告诉你,事情不是这样的。

我们一共有多少种编程语言?你只需看一下维基百科上的清单,600多种!说实话,就我个人的情况,我不相信我能学会数百种语言。因为有太多的文档需要看,它们之间有太多的差异需要注意。它们很多都是相似的,例如那些面向对象的语言:C++,Java,Ruby,Python等。然而,我们却有一种更高效的方法学习它们,那就是对它们归纳分类。[......]

阅读全文

编程语言们到底在解决什么问题?

Algol:汇编太底层了。
Pascal:Algol没有足够多的数据类型。
Modula:Pascal在系统编程方面弱爆了。
Simula:Algol在模拟方面做的并不够好。
Smalltalk:Simula中并不是所有的东西都是一个对象。
Fortran:汇编太底层了。
Colbol:Fortran是个可怕的语言。
PL/1:Fortran没有足够多的数据类型。
Ada:现在所有的语言都少了点什么。
Basic:Fortran是个可[......]

阅读全文

哪种编程语言更好?真的不重要

先来看个例子。两个工匠制作国际象棋,其中一个工匠使用传统的工具——各种规格的凿子、锉刀和锤子,首选的材料是石头。他仔细地雕刻细节,像他的父亲做的那样。另一种工匠使用更现代的技术去熔化金属、使用模具制作,他使用火以及可以承受极高温度和压力的模具和工具。最终,这两个工匠的作品同样精致、细腻、美丽。

[......]

阅读全文

如何给项目选择最合适的编程语言?

        每次开始一个新项目,无论是一个独立的程序还是现有计划的一个组件,都会面临着一个应该选择什么样的编程语言的问题。只考虑之前用过的编程语言或者现在最流行的语言的话,你很可能会得到一个糟糕的结果。所以你应该实时评估自己的选择,并不断寻找更好的替代方法。

[......]

阅读全文