Swift Ruby Python用JavaScript编写
学习新语言的技巧
有一个鲜为人知的秘密,我们在民间/流行弦乐器世界中很少披露。 我们经常对人们说:“哦,您在寻找低音吉他手吗? 好吧,我只弹吉他,所以很抱歉,我无法为您提供帮助。”,因为这是一种摆脱演出的简便方法,因为演出收费不菲甚至根本没有。 这是一个谎言,但是我们大部分时间都不会这样做,因为询问的人通常对此并不了解,因此我们不必处理任何不必要的反弹。 但事实是,大多数音乐家可以而且确实可以演奏一种以上的乐器。
尽管有时这个模因很荒谬,但这确实是我在学习JavaScript和Ruby之后完成了Swift入门在线课程(在此处找到)时的感受。 老实说,我期望我以前从未见过的东西,并且一开始会相对丢失(通常是我的默认设置)。 男孩,当我发现自己错了时,我很兴奋。
该课程以所有语言课程的入门材料开始。 我在声明变量,编写字符串,学习数据类型以及每种编程语言的所有基础知识。 我没想到这里会有太多差异,因为您可以在此材料上进行的变化非常有限。
然后,我开始编写函数。 我不得不编写一个看起来像这样的问候函数:
func sayHello(name:String){
print(“你好,\(名称)!”)
}
sayHello(名称: 名称)
看着它,我开始注意到一些相似之处。 我仅在这三行代码中就可以看到Ruby和JavaScript的并行性。 他们是:
func sayHello(){}-> JavaScript函数语法
sayHello-> 像JavaScript一样的Camel Casing
print()-> 也在Ruby中找到
sayHello(name: name)->调用JavaScript或Ruby之类的函数
对我来说,这是一个真正的突破性时刻。 我不再觉得自己是从第一个方格开始,而必须在初学者阶段逐步进行。 相反,我开始觉得自己处在某种加速的轨道上。 当我将该功能的所有内容分解为最小的部分时,我意识到唯一的区别是:
func vs function-> 与JavaScript略有不同
(名称:字符串)-> 不同的参数语法
print(“ Hello,\(name)!”)->不同的插值语法
本质上,我只需要学习三件事就可以在Swift中编写基本功能。 谈论能够迅速起步! 我不但不发汗,反而乐于运用我以前的知识。 我感觉:
保持差异有序:
这是我遇到的最大困难,特别是在编写全栈应用程序或执行各种不同的代码挑战时。 尽管相似之处使学习语言更加容易,但有时,微小的差异被证明是主要障碍。 例如,在Ruby和Python中编写if语句之间的区别是:
红宝石:
如果arg == true
做一些动作
结束
和
蟒蛇:
如果arg == true:
做一些动作
您是否抓住了这两种差异? 显而易见的一个很容易。 Ruby要求结束 if语句,而Python则不需要。 但是还有另一个区别并不容易发现。 这只是结肠的存在而已。 在Python中使用条件逻辑后,在语法上需要冒号,而在Ruby中则不需要冒号。 该冒号可能会改变世界,并可能立即导致代码中断。
可以用所有语言找到示例。 如果我们要用Ruby和JavaScript编写与动作相同的功能,则它看起来像:
JavaScript:
函数equalStringLengths(stringA,stringB){
返回stringA.length === stringB.length
}
和
红宝石:
def equal_string_lengths(string_a,string_b)
string_a.length == string_b.length
结束
两者之间在语法上有一些差异,但其中一个通常是非常隐蔽的。 ===(JavaScript)和==(Ruby)的区别。 再次,这可能导致中断和挫败感。 那么,我们如何跟踪所有这些?
不幸的是,这比看起来要困难的多,而且我什至最有经验的程序员都想到了“如何再次用(在这里插入语言)做到这一点?”这一刻。 我有两种方法可以做到这一点。 一是让错误捕捉您的错误并学会阅读所说的错误。 当看到某种错误类型时,这将触发您的程序员的大脑能够解决问题。 另一个只是不断地在两者之间跳来跳去。 实践确实可以做到完美。 最终,您习惯了切换所使用的语言,并且可以更快地完成操作。 在不知不觉中,您最好将自己称为任天堂,因为您已经钉上了那个开关!
学习曲线和您的母语:
不用说,您学习的语言越多,就越容易了解它们之间的细微差别并更快地掌握新语法。 确实,最难学习的语言是母语,因为您看到的一切都是新的。 没有参考点,您不仅会学习如何编写功能和设计,而且还会学习为什么以及如何以这种方式工作。
如果您在编程之旅的开始时发现自己,那么我想表示最热烈的欢迎,并祝贺您决定参加这一令人难以置信的有趣而又有意义的旅程。 现在,您可能想知道哪种语言是最好的开始。 这是可以理解的,因为有很多语言需要学习,每种语言都有其自身的起伏,特别是因为这些语言中的许多在其工作中(前端,后端等)都具有非常特定的功能。
老实说,我认为从基本的HTML开始就具有广泛的价值。 它是初学者最易懂的语言和语法,需要零知识的开发知识,并且可以相对较快地学习。 对我来说,我需要为更复杂的工作建立的大多数基础都是学习基本的HTML。
从那里开始,真正由您决定。 根据与大多数人(包括我自己)进行过交流的开发人员的观点,Python和Ruby往往最适合成为您的第一种开发语言。 每次编写时,有效和无效的方法总是会起作用或不起作用。 JavaScript虽然是我最喜欢的语言,但由于没有任何经验,JavaScript变得更加抽象和难以学习,因为我认为它是最具有延展性的语言。
但是,一如既往,我不了解您和您的思维方式比您更好。 您知道什么是最好的,知道什么将为您带来更多点击,而更长的时间将为您带来点击。 只需知道这一点,无论是您的母语还是第十九语言,辛勤工作和毅力总能带来回报,而您学习语言的投入越多,您就会从中得到更多的收获。 但是,最重要的是,永远不要忘记:
- 移动YouTube页面如何在iOS上自动播放video?
- iOS Chrome / Safari – 在模态内对焦input时不需要的滚动
- UIWebview JS性能比iOS 6/7上的移动Safari更慢吗?
- 找不到变量:Safari上的Promise
- iPhone 4+默认为networking应用的320像素分辨率,我想使用完整的640像素
- 能够在PhoneGap / Cordova中用JavaScriptlocking设备的方向
- “未捕获ReferenceError:cordova没有定义”
- Hammer.js阻止iOS Safari上的滚动事件
- 诺基亚这里的JavaScript API禁用缩放iOS中的缩放