文科生学习编程语言选择 javascript 还是 typescript

64 天前
 tangshuier

还是我,之前的那个文科生又来问问题了😂

继先前“文科生如何学习 python”问题之后,我从需求出发,结合 AI 把 python 用的很好。目前针对我自己的课程,做了一些分析模型的 python 代码实现。

之前这篇推荐编程语言的帖子中,有朋友们提到了 javascript ,结合 AI 我大致了解了一下基本语法,我同时也查到了一些应用场景,其中前端开发是我接下来考虑的内容(目前在尝试做一个 AI 电子政务的应用,需要学习应用开发框架)。

在搜索资料的过程中,我同时也找到了 typescript 这个语言,这个语言是 javascript 的超集。结合开发框架的选择,我有几个问题:

  1. 目前主流面向 AI 的应用开发框架有什么,我需要学习什么编程语言?
  2. typescript 与 javascript 之间,哪一个对于以后寻找工作比较友好?不考虑开发类工作(目前个人认知是开发类工作对于专业背景限制比较死,如果有错欢迎纠正)
  3. python 、javascript 或 typescript 在开发过程中如何进行配合(我也不清楚怎么表述这个问题,大概意思是掌握不同编程语言的人凑在一起怎么进行协调开发一个产品)?

感谢各位 v 友。

4303 次点击
所在节点    程序员
50 条回复
adoal
64 天前
TS 的定位是为大型项目的工程化开发而创造出来的,JS 的超集。所以以你的情况学 TS 会增加明显的学习负担而没有明显的收益。
至于不同语言之间的配合,所谓的不同语言有两种情况,一是在同一个 scope ,比如都是后端的业务逻辑,那么一般在一个项目里会统一,比如约好都用 Java 或者都用 Python 或者都用 JS/TS ,或者再宽限一些,都用 JVM 的语言,比如 Java 、Scala 、Kotlin 都用,但是划分好不同人开发的模块边界;另一种情况是在不同的 scope ,比如前端用 JS/TS (目前的情况,前端基本上就是 JS 及其衍生语言,别的语言从项目运作角度不现实),后端用 Java ,这样其实是没关系的,因为前后端的代码并不直接互操作,而是通过 HTTP 协议传输数据。另外,如果一个项目的后端涉及不同语言的强势生态,或者要跟存量系统的代码对接,那其实可以解耦成第二种情况,并不写在一个大程序里,而是通过网络调用(说法不是很严谨,大致可以这么理解)对方接口来传数据的方式来集成,那其实跟是不是一种语言就没关系了。
shulinbao
64 天前
可能我比较老土,但我还是觉得除非你想随便玩玩,否则还是从 c 这种开始学算法数据结构了解基本常识,再 java 、js 这些比较靠谱。举个例子,直接学 python 和 js 有点像你学哲学直接抱着道德经去念,不排除能有些“心得”,但没有哲学史基础大多数情况下大概率只能到乱扯一通的程度
2020583117
64 天前
@shulinbao 你这是最系统的路,但是现在大部分人没那个时间去慢慢学了,都是 Java 或者 js 一学,框架一学,咔咔就上班了
juzisang
64 天前
按目前的前端生态,基本绕不过 TypeScript 了,制定 JavaScript 语言范式的组织 TC39 ,出的语法范式都在用 TypeScript 编写。我的建议是都学,也不难,先学 js ,然后看看 ts 的语法基本就可以了。
DOLLOR
64 天前
平时做工程做项目,并不需要搞什么复杂的类型体操,TS 就是高级一点的 JS 注释而已,没必要为此犹豫。
shulinbao
64 天前
@2020583117 按照这几年 ai 发展的情况,这样搞很容易就被 ai 给替代了。产品经理说我自己学点 java/js 抱着 ai 比你们还好用😂(当然现在的产品经理能否有这样的思维还是要打个问号的,说不定产品经理先没了)
maxwellz
64 天前
啊?难道你写 typescript ,就可以不用学 javascript 了吗,建议把 javascript 学了,再学 typescript ,先学会走再学跑吧
shintendo
64 天前
我不理解,这也不是二选一的关系啊,这世上有人会 TypeScript 而不会 JavaScript 的吗😥
BeautifulSoap
64 天前
那还用问?那肯定是先学 javascript 再学 typescript 。不用抬杠,各位推崇的 typescript 官方文档就明确推荐你要学 ts 先学 js 了

https://www.typescriptlang.org/docs/handbook/intro.html

> If you are coming to TypeScript without a JavaScript background, with the intention of TypeScript being your first language, we recommend you first start reading the documentation on either the Microsoft Learn JavaScript tutorial or read JavaScript at the Mozilla Web Docs.

> 如果你没有 JavaScript 背景,计划将 TypeScript 作为你的第一门编程语言,我们建议你先阅读 Microsoft Learn 或 Mozilla Web Docs 上的 JavaScript 教程。
importmeta
64 天前
对新手来说,用 ts 就是标上类型,一点都不费脑子
crocoBaby
64 天前
TS 和 JS 是一体的啊,怎么分开学习?
bthulu
64 天前
文科生当然是 js 了, 怎么写都能跑起来. ts 就太多规矩了, 不适合文科生.
JamesFisher
64 天前
1. 非 AI 应用开发者,不清楚
2. JavaScript
3. 比如开发一个前后端分离的 Web 应用( eg. 博客),用 Python 写一个 Web server ,提供数据服务; JavaScript 在浏览器端负责构建视图,两者通过 HTTP 通信
tangshuier
64 天前
@shintendo 是这样,我在寻找开发框架就找到了 react 、vue.js 、next.js 和 nuxt.js 等等开发框架。我担心 js 和 ts 对于开发框架的兼容性问题
YVAN7123
64 天前
你直接问 AI 呗
henix
64 天前
TS 相对于 js 多加了很多东西,为的是大型工程中多人协作更可维护,js 更基础,所以先学 js 。
要开发一个网站不只需要学 js ,还有 HTML / CSS 这些,可以看看 https://csdiy.wiki/ 的 Web 开发 部分

协作就是双方约定好一个接口 / 规范 / 协议,规定了数据如何传输,以及这些数据的含义。类比的话就是现在的 USB / 蓝牙之类的接口,如果主机和设备都支持了这些接口就可以通信。
Web 开发中的前后端,底层是通过网络协议通信,具体来讲,最底层是 TCP ,然后是 HTTP ,然后是应用自己约定的协议。
shintendo
64 天前
@tangshuier 我这么说吧,你这里提到的所有东西“typescript 、react 、vue.js 、next.js 、nuxt.js”都有一个共同的前提,就是你会 javascript 。这里不存在任何选择题。
shintendo
64 天前
正确的问题应该是:“学完 javascript 之后要不要学 typescript”,“react 和 vue.js 学哪个”(这个不要发帖问),“学完 react 要不要学 nextjs”,“学完 vue.js 要不要学 nuxtjs”
z1829909
64 天前
我觉得不要纠结这些东西,你是学习又不是给商业项目技术选型。直接列出主流语言,扔骰子到哪个就选哪个。选个技术纠结这么多,一步一磕头什么时候能开始写。
我见过学编程没基础,看了教程直接用 word 里的 vba 写的,鼠标打开 word ,创建一个宏,然后开始编程。
chenpingan
64 天前
@tangshuier #14 react/vue 是基于 js 开发的啊,前端的核心就是 js ,你不会 js 做前端,谁给你的这个思路,学了 ts 可以不用学 js ,建议你不要做选择了,只要你想做前端,首先就得学 js ,其他都不用考虑

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1073686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX