还是我,之前的那个文科生又来问问题了😂
继先前“文科生如何学习 python”问题之后,我从需求出发,结合 AI 把 python 用的很好。目前针对我自己的课程,做了一些分析模型的 python 代码实现。
之前这篇推荐编程语言的帖子中,有朋友们提到了 javascript ,结合 AI 我大致了解了一下基本语法,我同时也查到了一些应用场景,其中前端开发是我接下来考虑的内容(目前在尝试做一个 AI 电子政务的应用,需要学习应用开发框架)。
在搜索资料的过程中,我同时也找到了 typescript 这个语言,这个语言是 javascript 的超集。结合开发框架的选择,我有几个问题:
感谢各位 v 友。
补充纠结学习js还是ts的原因:
我寻找到的js教程,很多都是新老标准混合在一起讲解,我目前很难从企业角度去了解开发使用的是新标准还是老标准,我是否需要同时掌握新老标准的代码。ts就我目前找到的资料不存在这种问题。
补充:
js的教程问题解决了,这个教程使用的标准是es2025
勘误:教程使用的标准是ECMA-262
1
adoal 99 天前
TS 的定位是为大型项目的工程化开发而创造出来的,JS 的超集。所以以你的情况学 TS 会增加明显的学习负担而没有明显的收益。
至于不同语言之间的配合,所谓的不同语言有两种情况,一是在同一个 scope ,比如都是后端的业务逻辑,那么一般在一个项目里会统一,比如约好都用 Java 或者都用 Python 或者都用 JS/TS ,或者再宽限一些,都用 JVM 的语言,比如 Java 、Scala 、Kotlin 都用,但是划分好不同人开发的模块边界;另一种情况是在不同的 scope ,比如前端用 JS/TS (目前的情况,前端基本上就是 JS 及其衍生语言,别的语言从项目运作角度不现实),后端用 Java ,这样其实是没关系的,因为前后端的代码并不直接互操作,而是通过 HTTP 协议传输数据。另外,如果一个项目的后端涉及不同语言的强势生态,或者要跟存量系统的代码对接,那其实可以解耦成第二种情况,并不写在一个大程序里,而是通过网络调用(说法不是很严谨,大致可以这么理解)对方接口来传数据的方式来集成,那其实跟是不是一种语言就没关系了。 |
2
shulinbao 99 天前 via iPhone
可能我比较老土,但我还是觉得除非你想随便玩玩,否则还是从 c 这种开始学算法数据结构了解基本常识,再 java 、js 这些比较靠谱。举个例子,直接学 python 和 js 有点像你学哲学直接抱着道德经去念,不排除能有些“心得”,但没有哲学史基础大多数情况下大概率只能到乱扯一通的程度
|
3
2020583117 99 天前 2
@shulinbao 你这是最系统的路,但是现在大部分人没那个时间去慢慢学了,都是 Java 或者 js 一学,框架一学,咔咔就上班了
|
4
juzisang 99 天前 1
按目前的前端生态,基本绕不过 TypeScript 了,制定 JavaScript 语言范式的组织 TC39 ,出的语法范式都在用 TypeScript 编写。我的建议是都学,也不难,先学 js ,然后看看 ts 的语法基本就可以了。
|
5
DOLLOR 99 天前
平时做工程做项目,并不需要搞什么复杂的类型体操,TS 就是高级一点的 JS 注释而已,没必要为此犹豫。
|
6
shulinbao 99 天前 via iPhone
@2020583117 按照这几年 ai 发展的情况,这样搞很容易就被 ai 给替代了。产品经理说我自己学点 java/js 抱着 ai 比你们还好用😂(当然现在的产品经理能否有这样的思维还是要打个问号的,说不定产品经理先没了)
|
7
maxwellz 99 天前
啊?难道你写 typescript ,就可以不用学 javascript 了吗,建议把 javascript 学了,再学 typescript ,先学会走再学跑吧
|
8
shintendo 99 天前
我不理解,这也不是二选一的关系啊,这世上有人会 TypeScript 而不会 JavaScript 的吗😥
|
9
BeautifulSoap 99 天前 2
那还用问?那肯定是先学 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 教程。 |
10
importmeta 99 天前
对新手来说,用 ts 就是标上类型,一点都不费脑子
|
11
crocoBaby 99 天前
TS 和 JS 是一体的啊,怎么分开学习?
|
12
bthulu 99 天前
文科生当然是 js 了, 怎么写都能跑起来. ts 就太多规矩了, 不适合文科生.
|
13
JamesFisher 99 天前
1. 非 AI 应用开发者,不清楚
2. JavaScript 3. 比如开发一个前后端分离的 Web 应用( eg. 博客),用 Python 写一个 Web server ,提供数据服务; JavaScript 在浏览器端负责构建视图,两者通过 HTTP 通信 |
14
tangshuier OP @shintendo 是这样,我在寻找开发框架就找到了 react 、vue.js 、next.js 和 nuxt.js 等等开发框架。我担心 js 和 ts 对于开发框架的兼容性问题
|
15
YVAN7123 99 天前
你直接问 AI 呗
|
16
henix 99 天前
TS 相对于 js 多加了很多东西,为的是大型工程中多人协作更可维护,js 更基础,所以先学 js 。
要开发一个网站不只需要学 js ,还有 HTML / CSS 这些,可以看看 https://csdiy.wiki/ 的 Web 开发 部分 协作就是双方约定好一个接口 / 规范 / 协议,规定了数据如何传输,以及这些数据的含义。类比的话就是现在的 USB / 蓝牙之类的接口,如果主机和设备都支持了这些接口就可以通信。 Web 开发中的前后端,底层是通过网络协议通信,具体来讲,最底层是 TCP ,然后是 HTTP ,然后是应用自己约定的协议。 |
17
shintendo 99 天前
@tangshuier 我这么说吧,你这里提到的所有东西“typescript 、react 、vue.js 、next.js 、nuxt.js”都有一个共同的前提,就是你会 javascript 。这里不存在任何选择题。
|
18
shintendo 98 天前
正确的问题应该是:“学完 javascript 之后要不要学 typescript”,“react 和 vue.js 学哪个”(这个不要发帖问),“学完 react 要不要学 nextjs”,“学完 vue.js 要不要学 nuxtjs”
|
19
z1829909 98 天前 via Android
我觉得不要纠结这些东西,你是学习又不是给商业项目技术选型。直接列出主流语言,扔骰子到哪个就选哪个。选个技术纠结这么多,一步一磕头什么时候能开始写。
我见过学编程没基础,看了教程直接用 word 里的 vba 写的,鼠标打开 word ,创建一个宏,然后开始编程。 |
20
chenpingan 98 天前
@tangshuier #14 react/vue 是基于 js 开发的啊,前端的核心就是 js ,你不会 js 做前端,谁给你的这个思路,学了 ts 可以不用学 js ,建议你不要做选择了,只要你想做前端,首先就得学 js ,其他都不用考虑
|
21
tangshuier OP @chenpingan 关于 js 教程,我找到的很多教程是老标准和新标准一起讲(例如 var 关键字和 let 关键字)
|
22
zdw189803631 98 天前
一个东西,先学 js 再说
|
23
Lemon2ee 98 天前
两个一起,普通开发的话说实话没什么不同,但 ts 确实会比 js 繁琐一些(但对于我来说会好用一些,利于 debug ),说实话,你这些问题都可以暂且不问,先找个想法,一切为了完成这个想法而学。
|
24
knva 98 天前
文科生用 c++
|
25
shenjinpeng 98 天前
学完弱类型语言 一下子接触强类型可能不适应, 建议先学 js 吧
|
26
chenpingan 98 天前
@tangshuier #21 不了解你的代码水平如何,但是 js 是必须要完整学一遍的,第一遍如果实在不理解可以先记住(类似 var 和 let 的区别,可能你只有在真实的业务场景下碰到才能理解),总之,前端绕不开 js 的
|
27
ZGame 98 天前
@tangshuier #21 直接学 ts 其实你这个就类似汽车手动挡和自动挡。 ts 等于手动挡,学了 js 自动会了。
|
28
Sketch 98 天前 via iPhone
从 OP 的发言中感觉 OP 对于语言,框架之类的认识有些混淆。相比起纠结选择哪一门语言,感觉 OP 更需要的是直接、简单的 Web 编程的学习,我建议试试全栈公开课[https://fullstackopen.com/zh]把 Web 编程相关的知识都过一遍先。
|
29
leo72638 98 天前
啊这,你学 TS 不还得会 JS 吗?
|
30
lisongeee 98 天前
牛逼,es2025 都没正式发布都先学上了,https://tc39.es/ecma262/
|
31
Hzz123 98 天前 1
JS 是最最最基础的啊,你肯定要先学 JS 再学 TS
|
32
joydragon 98 天前
设置目标 -> 问 AI
|
33
mizuki9 98 天前
我感觉 ts 教程都会默认你已经熟悉了 js ,所有应该是先学了 js ,再学 ts 。你说的 现代 JavaScript 教程 我觉得是可以的,在写 js 代码写到一半不清楚的时候,可以查看 mdn
|
34
tangshuier OP @joydragon 我问过 ai“既然 ts 是 js 的超集,那么为什么学会 ts 并不意味着同时学会了 js”,它一直在强调 ts 与 js 不一样
|
35
smallboy19991231 98 天前
@tangshuier 其实就跟 C 语言和 C++一样,有人喜欢学简单的 C,觉得很基础,但是也有人觉得学了 C++就相当于把 C 也学会了,因为 C++就是在 C 的基础上添加了很多语法,但是有很多很多方面都不兼容,用 List 列出来起码 10 几个不同之处.
这样看来 JS 和 TS 是差不多的吧 |
36
dif 98 天前
个人体验,TS 和 JS 一起学习。了解区别。
|
37
smallboy19991231 98 天前
@tangshuier 建议直接选择你认为最系统最好的 JS/TS 的教程,选定一个语言,然后熟练之后再看两种语言的所有区别的 List,来区分开来,就可以了
|
38
zhangk23 98 天前
1. 先学 py3 语法 再去 github 偷项目
2. js 和 ts 一体,会一个看看文档就会另一个 3. flask + vue3 + sql + vps |
39
chihiro2014 98 天前
学 angular
|
40
8620 98 天前
文科生不适合学 AI 。不管是不是深度学习,人工智能的基础都是数学、逻辑、以及数学和逻辑的结合。如果想要学习深度学习,那更是数学占大头的地方,还要加上生物学和物理的一些理论……如果确实想要学习 AI ,建议先修完高数,然后可以试试跟着教程学 Python 。
|
41
jry 98 天前
我选 AnyScript
|
42
tangshuier OP @8620 这个我的自我认知还是清晰的,我只是想实现一个 AI 应用(应该叫 AI Agents ),不是纯人工智能,因此不涉及到深度学习这种从头开始预训练微调 AI
|
43
tangshuier OP @jry 指 typescript debug 找不到错误因此把所有数据类型都改成 Any 是吧😂
|
44
windliang 98 天前
之前写的一个零基础入门前端的课,感兴趣的话可以看看,https://xiaobot.net/p/fe?refer=1c9e2277-4405-4c12-93a9-5e982f62c9c6 ,最近正好在更新 ai 小程序
|
45
iv8d 98 天前
安安心心的学 js ,其他都是纸老虎
|
46
KevinDo2 98 天前
学习 js 即可。
|
47
Geon97 98 天前
和文科理科没关系,先搞清楚 JavaScript 和 typescript 的区别和关系吧,搞清楚就知道应该学什么了
|
48
penll 98 天前
如果学习能力可以的话,还是建议直接上 typescript ,可以让你更加全面了解面向对象编程。说什么只是 js 注释,那是简单的理解。重要的是编程思想
|
49
Ackvincent 98 天前
随便哪个 能入门坚持下来都行。
|
50
siweipancc 97 天前 via iPhone
官网都让你先学 js 了,不然编译下来的 js 代码你看都看不懂更别提一堆配置跟 bug
|