为什么没有一种万能且通用的编程语言呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
onice
V2EX    程序员

为什么没有一种万能且通用的编程语言呢?

  onice 2021-10-21 16:23:33 +08:00 18196 次点击
这是一个创建于 1451 天前的主题,其中的信息可能已经有所发展或是发生改变。

Web 开发用 PHP,Java,Node.js

基础设施用 C/C++

网页设计用 HTML,JS,CSS

数据库用 SQL 。

为什么不发明一种万能的编程语言,我只需要学一门语言就能做所有的事情。

这可能吗?

目前 Python 有这种趋势,但还是无法全面覆盖,比如移动端的 App 开发。

第 1 条附言    2021-10-22 14:53:26 +08:00
感谢大家解答。通过大伙的回复,C#和.NET 重新映入我的眼帘。以前一直对它没好感,现在没想到这么强大了。

我只有过两年的 Java CRUD 经验,后来转做信息安全了。现在的编程需求,既需要做应用层的开发,比如 socket ;又需要做系统级的开发,比如编写某些测试用途的恶意代码。

之前想过学习 node.js 似乎比较全能,但更多偏向于应用层多一些。

考虑过老本行 Java,但我用 Java 写的恶意代码,又依赖运行环境。

Python 感觉还行,做安全开发很不错,以及完成日常任务,但代码容易被反编译。

直至今日,我想我找到了自己的组合,那就是 C/C++以及 C#。无论是编写恶意代码,还是反病毒软件的逃匿,都很不错。并且 C#这么全能,平日里也可以写一些桌面软件和 Web,简直不能太棒。
166 条回复    2024-03-11 13:25:14 +08:00
1  2  
PureWhiteWu
    1
PureWhiteWu  
   2021-10-21 16:25:34 +08:00
为什么没有一个万能且通用的人,什么都能做到最好呢?
ZHenJ
    2
ZHenJ  
   2021-10-21 16:25:44 +08:00   11
没有银弹
LokiSharp
    3
LokiSharp  
   2021-10-21 16:26:40 +08:00
有了啊 C# 啊
ktqFDx9m2Bvfq3y4
    4
ktqFDx9m2Bvfq3y4  
   2021-10-21 16:27:15 +08:00   2
你应该说目前 C#有这种趋势,都已经包括了移动端 APP 啦。
ktqFDx9m2Bvfq3y4 /td>
    5
ktqFDx9m2Bvfq3y4  
   2021-10-21 16:31:44 +08:00
dotnet.microsoft.com ,看看官方说法:A developer platform for building all your apps 。
imkerberos
    6
imkerberos  
   2021-10-21 16:32:02 +08:00   38
有啊, 汇编.
AoEiuV020
    7
AoEiuV020  
   2021-10-21 16:36:23 +08:00
很多东西不是好和坏能够概括的,
同样一个特点,有人觉得是优点,有人觉得是缺点,
觉得是缺点的人就可能选择不用这门语言,另外开发一门语言解决这个“痛点”,
其他有同样看法的程序员就跟上了也用新语言,
程序员割裂了直接导致不同语言的生态不一样了,自然就能划分出哪些语言擅长什么,实际上是这门语言的主流用户擅长什么,
hongweiliuruige
    8
hongweiliuruige  
   2021-10-21 16:37:01 +08:00
这不就是 js 吗,,atwood 定律:所有能被 js 实现的应用终将被 js 实现,,
kop1989
    9
kop1989  
   2021-10-21 16:38:56 +08:00
其实现在哪个语言都差不多是“万能”的,只是在某个产品领域是否被认可,是否流行的区别而已。
qiayue
    10
qiayue  
PRO
   2021-10-21 16:44:23 +08:00   2
有万能的语言,文字就是,你用文字把你的需求描述清楚,别人能帮你开发产品。
masterclock
    11
masterclock  
   2021-10-21 16:45:23 +08:00   2
定义一门语言 Ring,把过去、现在、未来一切语言都作为的 DSL 。
onice
&nbp;   12
onice  
OP
   2021-10-21 16:46:41 +08:00
@Chad0000 问下.NET 是像 Java 那样是免费的吗?看了下官网,跟 Java 差不多,也有自己的 Runtime 。
是不是上了微软的.NET ,全套都得用微软的东西了,操作系统,数据库,云。
simple233
    13
simple233  
   2021-10-21 16:50:36 +08:00
突然想到了 js...
dajj
    14
dajj  
   2021-10-21 16:53:29 +08:00   2
如果不够抽象,就封装一层。 既然不能有万能的语言,那么找好几个程序员,楼主主要对程序员下命令就行。
轻松扩展支持更多语言,岂不美哉
yixiang
    15
yixiang  
   2021-10-21 16:53:57 +08:00   1
haxe 了解一下?可以编译成 Javascript, C++, C#, Java, Python, Lua, PHP 。

死亡细胞就是这玩意写的。
Vegetable
    16
Vegetable  
   2021-10-21 16:56:06 +08:00   2
实际上你说的中国话就是。

严格来说,所有人们使用的编程语言都是自然语言的子集。

你觉得没有只是因为你抽象的层次不够。当然这么说就有点抬杠的意思了,你实际上想问的,我觉得是:「传统编程语言为什么难以做到适应所有的场景」

这是因为不同场景的需求不同,语言作为一个工具,必然有其擅长工作,比如菜刀可以切菜,也可以切水果,但是人们还是发明了水果刀。瑞士军刀能切菜也能切水果,但是没有谁家厨房或者果盘里放的是瑞士军刀对吧?

工具的功能存在取舍,一味的加特性,去适配更多的场景,损失的就是易用性。同时,当一个工具的功能足够多时,可能会出现另一个情况:不同人群都使用的其中的部分功能,大家互相没有交集,vb 和 c#都属于 dotnet,那你说他们还算一种编程语言吗
roundgis
    17
roundgis  
   2021-10-21 16:57:44 +08:00 via Android
@onice .net 在是.net foundations 在打理
signalas1
    18
signalas1  
   2021-10-21 16:59:40 +08:00
javacript
ktqFDx9m2Bvfq3y4
    19
ktqFDx9m2Bvfq3y4  
   2021-10-21 16:59:52 +08:00
@onice 是啊完全免费,而且是 MIT 协议,免费得比较彻底。现在 .net 已经真正跨平台了,不用依赖于微软自家的产品,我这边一般都部署在 Docker 中然后跑在 linux 上了。也不一定非要在 Windows 下开发。而且 C#除了 APP 还有手游还有 WebAssemply,貌似是其他语言不大好 Cover 的方向,哈哈。
signalas1
    20
signalas1  
   2021-10-21 16:59:55 +08:00
Javascript
myd
    21
myd  
   2021-10-21 17:02:53 +08:00
Javascript
ruchee
    22
ruchee  
   2021-10-21 17:08:20 +08:00
有的,Haxe
Smilencer
    23
Smilencer  
   2021-10-21 17:13:04 +08:00
Javascript
onice
    24
onice  
OP
   2021-10-21 17:16:54 +08:00
@Chad0000 感谢分享。之前初学编程的时候,那个时候 C#还没开源,开源社区的大佬也在抨击这门语言,就很鄙视看不起。没想到现在这么厉害了。以后打算有时间学习学习,做个人项目很棒啊。。但是听说国内用这个的不多,工作不太好找。
echo1937
    25
echo1937  
   2021-10-21 17:23:00 +08:00
有没有一种工具是万能且通用的呢,比如瑞士军刀。
leafre
    26
leafre  
   2021-10-21 17:23:38 +08:00   1
0101011010101010101010
Clarke
    27
Clarke  
   2021-10-21 17:25:45 +08:00 via Android
Python 这种脚本语言还是算了吧,有也可能是 C 、C++和 Rust 这种的
kerro1990
    28
kerro1990  
   2021-10-21 17:26:32 +08:00
C#
xwhxbg
    29
xwhxbg  
   2021-10-21 17:31:24 +08:00
有啊,rust 上可当 react 写网页,下可 no-std 撸驱动
industryhive
    30
industryhive  
   2021-10-21 17:32:16 +08:00
java,java 可以写后端,可以写客户端,可以写中间件(数据库、搜索引擎),可以写大数据平台,可以写嵌入式,未来也可能写操作系统,也可以作为查询语言替代 sql 。
ReferenceE
    31
ReferenceE  
   2021-10-21 17:32:29 +08:00 via Android
@onice C#国内没人用,想做先跑路
fgwmlhdkkkw
    32
fgwmlhdkkkw  
   2021-10-21 17:34:02 +08:00   1
kivy
industryhive
    33
industryhive  
   2021-10-21 17:36:12 +08:00
@Clarke c/c++/rust 适合写小型系统,越大型的系统越不适合使用它们写。最关键的原因是 c/c++/rust 没有 JIT,在运行效率方面比不上有 JIT 的语言,比如 java
snw
    34
snw  
   2021-10-21 17:39:54 +08:00 via Android   2
大部分通用编程语言都是图灵完备的。
所有已知的图灵完备系统都是图灵等价的。

理论上你确实只要学一门语言就能做任何事,只有适合与不适合的差别。
如果一门语言容易做所有事情,那它本身就是极其复杂的;如果一门语言本身不很复杂,那么它只容易做某些事情。
jeeyong
    35
jeeyong  
   2021-10-21 17:43:30 +08:00   1
那个....Python 可以做移动端..kivy
yazinnnn
    36
yazinnnn  
   2021-10-21 17:51:19 +08:00
kotlin 正在尝试

kmm,jvm,js,kotlin-native

想干的事很多,就怕步子太大扯到蛋
clf
    37
clf  
   2021-10-21 17:52:19 +08:00
那么问题来了,我在 Java 里定义了一个 String 对象,对象里放的是 html 的代码,这个对象属于 java 语言的一部分还是 html ?
我用 Java 的 js 解释器跑了一个'consolo.log("hello world")',这时候这玩意算 java 的代码还是 js 。
rioshikelong121
    38
rioshikelong121  
   2021-10-21 17:52:39 +08:00
大部分高级语言都可以干这些事情。问题只在于基础设施。
lechain
    39
lechain  
   2021-10-21 18:08:38 +08:00 via Android
@industryhive kernel:???
linyuyizhizou
    40
linyuyizhizou  
   2021-10-21 18:14:12 +08:00
可以,但是没必要。
tanranran
    41
tanranran  
   2021-10-21 18:18:03 +08:00
C# 没有之一
zjsxwc
    42
zjsxwc  
   2021-10-21 18:31:22 +08:00 via Android
transpiler 了解下,楼主的问题全不是问题
industryhive
    43
industryhive  
   2021-10-21 18:33:18 +08:00
@lechain 像 Windows 、Linux 这种客户端软件很可能是 C/C++能开发的最大的单体软件,规模再大的软件很可能就不适合了。
atpking
    44
atpking  
   2021-10-21 18:34:02 +08:00
瞧不起二进制?
TAFMT
    45
TAFMT  
   2021-10-21 18:39:14 +08:00
汇编语言
zwgf
    46
zwgf  
   2021-10-21 18:39:34 +08:00
Javascript
cmdOptionKana
    47
cmdOptionKana  
   2021-10-21 18:48:30 +08:00   1
一个简单的真理:在特定场景,通用的工具必然不如专用工具。

这个真理的原因是:场景和问题本身是复杂的、多样化的。而专用工具就是针对特定问题的特殊性而专门设计的。

这就是没有一个万能语言的原因。
xarthur
    48
xarthur  
   2021-10-21 19:26:25 +08:00 via iPhone
楼主提到的 Java C++ Python Javascript 就是通用编程语言啊。
这些语言都是图灵等价的,表达能力的上限是相同的,不存在某个语言能写,另一个语言就不能写的情况。
至于为什么不能用 Python 写 App,实际上可以的,你可以写一个 object-c 和 python 之间的 bridge 就能写了。
至于为什么没人这么干,这是商业问题不是技术问题,答案也很简单,没什么必要,商业上也划不来。
不要想着有这种学一门编程语言就够了,至少得会个 6 们以上的编程语言吧。
charlie21
    49
charlie21  
   2021-10-21 19:53:02 +08:00   2
首先,这么好的东西,它肯定贵
其次,它贵 就会有人寻找便宜的近似替代品
第三,有人就会制造出近似替代品,它就会在喜欢便宜货的人群之中流传开

以上三点是唯一物品和唯一物品替代物出现的原因,商品社会里没有意外。商品社会常识就是这样。当你有了无可替代的理由并彻底堵死 “近似替代物” 机会,就会出现无可替代的唯一物品
lostpg
    50
lostpg  
   2021-10-21 20:22:34 +08:00 via Android
@industryhive cc cpp rust 虽然没有 jit,但你也不能看不起人家 aot 的性能优化吧。。
industryhive
    51
industryhive  
   2021-10-21 20:32:59 +08:00
@lostpg AOT 性能优化上限不如 JIT,并且 java 也不是不能 AOT,现在 java 只能 AOT 和 JIT 二选一,但是说不定未来哪一天 java 可以实现先 AOT 编译再 JIT 运行。
zpxshl
    52
zpxshl  
   2021-10-21 20:36:22 +08:00 via Android
@industryhive 51 android 不就是吗? aot jit 并存
agagega
    53
agagega  
   2021-10-21 20:36:34 +08:00 via iPhone
@industryhive 没有 jit 但是有 pgo..不考虑程序员水平的情况下,Cpp 的上限肯定是比 Java 高的
IvanLi127
    54
IvanLi127  
   2021-10-21 20:42:14 +08:00 via Android
万能不就是啥都能做,也只是能做?
muzuiget
    55
muzuiget  
   2021-10-21 20:44:44 +08:00
其实图灵完备都是万能语言,只不过开发效率上你接受不了。
industryhive"
    56
industryhive  
   2021-10-21 20:48:58 +08:00
@agagega PGO 的优化上限还是不如 JIT 。目前来看 java 并没有明显不可克服的缺陷,cpp 能做的 java 都可以做,但是 java 的 JIT 却是 cpp 没有的(当然 cpp 可以自己写一个 JIT 编译器,这样 java 和 cpp 就持平了,但是通过 JIT 运行的 cpp 还能不能叫做 cpp 就见仁见智了)。
9dP06m83vIV00l72
    57
9dP06m83vIV00l72  
   2021-10-21 21:06:04 +08:00
目前来看只有 x86 ISA 是真正的跨平台的了。
9dP06m83vIV00l72
    58
9dP06m83vIV00l72  
   2021-10-21 21:11:09 +08:00
目前来看只有 x86 ISA/ ARM ISA 是真正的跨平台的万能语言了,大多数高级语言都受限于框架和各种库,限制了它的跨端能力。
lostpg
    59
lostpg  
   2021-10-21 21:14:00 +08:00
@industryhive #51 动态优化确实有着独特的优势,只是目前来看 jit 的成果也依然是在追平和 aot 的差距,虽然这个差距在很多时候都不需要去考虑,而是首要考虑代码实现和质量。

操作系统,数据库和浏览器内核这类应用目前来说,c cpp rust 的性能优势依然存在。考虑程序员心智负担,团队合作与语言生态的场景中,java 优势得天独厚,飞龙骑脸的那种
littlewing
    60
littlewing  
   2021-10-21 21:14:10 +08:00
机器语言
musi
    61
musi  
   2021-10-21 21:19:13 +08:00
js 不是嘛,桌面端,移动端,web 前后端,数据库就 ORM,网页设计就 jsx css in js
Rorysky
    62
Rorysky  
   2021-10-21 21:34:56 +08:00
assembly
Leviathann
    63
Leviathann  
   2021-10-21 22:09:56 +08:00
@industryhive 虽然但是,java 没有零开销抽象啊
比如集合的 map 、filter 啥的操作
javac 几乎是 0 优化的(相比 gcc rustc 之类的)
连 kotlinc 都能用 inline 的方式把这种操作编译成 for in 循环(当然如果是要求惰性的链式调用也得上 sequence )
lysS
    64
lysS  
   2021-10-21 22:42:05 +08:00
SQL 、CSS 也叫编程语言?
GeruzoniAnsasu
    65
GeruzoniAnsasu  
   2021-10-21 22:44:50 +08:00
@industryhive

……………………………………………………………………………………………………………………………………………………………………



那啥 汇编也没有 JIT 。
GeruzoniAnsasu
    66
GeruzoniAnsasu  
   2021-10-21 22:47:38 +08:00
因为现实世界并不简单到仅用一种逻辑系统即可描述
mogita
    67
mogita  
   2021-10-21 22:58:25 +08:00
想起 @fo2w 在 2016 年跟我说过的一句话:「这世上没什么东西是能通用的。」
至今奉为圭臬。
reedthink
    68
reedthink  
   2021-10-21 23:01:35 +08:00
有了啊,c++
xulolololololo
    69
xulolololololo  
   2021-10-21 23:08:52 +08:00
能别把 PHP 放首位吗?最近写着犯恶心
Daming
    70
Daming  
   2021-10-22 00:14:21 +08:00
@ck65 #67
任何能用 Javascript 实现的应用,最终都会用 Javascript 实现。
Any application that can be written in Javascript, will eventually be written in Javascript.
Felldeadbird
    71
Felldeadbird  
   2021-10-22 01:26:57 +08:00
JS 目前是。
msg7086
    72
msg7086  
   2021-10-22 02:23:19 +08:00   2
越通用就越不专业。为什么要自虐去用通用的东西?
卡车能载重,公交车能载人,小汽车操控灵活,跑车速度快,飞机能飞。
然后你要弄一个既能载重,又能载人,又操控灵活,又能飙车,又能飞的交通工具?
GeQi
    73
GeQi  
   2021-10-22 03:37:57 +08:00
难听的说问出这种问题就是菜……
ktqFDx9m2Bvfq3y4
    74
ktqFDx9m2Bvfq3y4  
   2021-10-22 03:45:37 +08:00
@onice 哈哈,所以我写着写着 C#我就写出国了,现在还用它来写 APP 啦。国内现在情况怎么样我不清楚,但我出来时国内传统行业用得还是比较多的,我当时就是带着部门用 C#搞自助终端平台的。
AX5N
    75
AX5N  
   2021-10-22 05:06:25 +08:00
@msg7086 楼主就是在问为什么不存在一个“既能载重,又能载人,又操控灵活,又能飙车,又能飞的交通工具”啊,你又把问题重复了一遍。
astkaasa
    76
astkaasa  
   2021-10-22 06:33:25 +08:00 via iPhone
来人,上 xkcd
yazinnnn
    77
yazinnnn  
   2021-10-22 08:30:13 +08:00

昨天 kotlin 官方发了一个 kotlin & wasm 的介绍
sugars
    78
sugars  
PRO
   2021-10-22 08:34:45 +08:00
js yyds
Cbdy
    79
Cbdy  
   2021-10-22 08:38:26 +08:00
js
urmyfaith
    80
urmyfaith  
   2021-10-22 08:42:34 +08:00
瞧不起汇编?
ShareDuck
    81
ShareDuck  
   2021-10-22 08:43:25 +08:00
@onice 大佬应该不是抨击 C# 这门语言,这门语言在社区一直都是赞誉有加的。抨击的应该是 .Net Framework 。
ShareDuck
    82
ShareDuck  
   2021-10-22 08:47:09 +08:00
@lysS 你看不起我存储过程??手动狗头。
desstiony
    83
desstiony  
   2021-10-22 08:47:48 +08:00
单机片上能跑 js ? 硬件驱动能用 js 写?
wangxn
    84
wangxn  
   2021-10-22 09:03:03 +08:00 via Android
@industryhive C/C++/Rust 本身都预编译成机器码了,还要 JIT 干嘛?
yunyuyuan
    85
yunyuyuan  
   2021-10-22 09:12:26 +08:00
有啊,英语不就是吗
xdeng
    86
xdeng  
   2021-10-22 09:12:46 +08:00
010101101010101010101 二进制就是
Lemeng
    87
Lemeng  
   2021-10-22 09:14:18 +08:00
js:选我选我
p1gd0g
    88
p1gd0g  
   2021-10-22 09:15:42 +08:00
只能说计算机体系还不够成熟,毕竟还不到 100 年,未来一定会有吧。
huangmingyou
    89
huangmingyou  
   2021-10-22 09:27:27 +08:00
产品经理的语言!
industryhive
    90
industryhive  
   2021-10-22 09:31:32 +08:00
@wangxn 预编译是 AOT,AOT 的性能优化上限不如 JIT,JIT 的存在目的就是获取运行时信息进行比 AOT 更高程度的优化。java 也可以进行 AOT 编译,但是 java AOT 之后就不能 JIT 了,以后可能会实现先 AOT 编译再 JIT 运行。
rb6221
    91
rb6221  
   2021-10-22 09:32:59 +08:00
你说这话不仅是计算机知识不够,最主要的是逻辑知识都不够
我就举个和计算机无关的例子,假设法:假设有这么一个语言已经涵盖了现在所有的场景。
那么明天突然有人发明一种新的开发领域(就好像 android 出来前和出来后),你怎么保证这个语言能满足这个新的场景?
这是纯逻辑问题。这个问题用脚想也知道是无解的
ktqFDx9m2Bvfq3y4
    92
ktqFDx9m2Bvfq3y4  
   2021-10-22 09:33:35 +08:00
@yazinnnn C#这边 Blazor 都如火如荼了。:-),我涉猎面比较窄,不敢说 C#满足楼主所说,但它已经足够接近了。
Zakun
    93
Zakun  
   2021-10-22 09:36:27 +08:00
00011101010101010
industryhive
    94
industryhive  
   2021-10-22 09:39:37 +08:00
@lostpg 目前来看 JIT 的确还有非常大的发展潜力,这也是为什么我说越大型的系统越适合用 java 开发,因为越大型的系统 JIT 能发挥的作用就越大。目前来看 cpp/rust 等用来编写一些小型系统仍然存在某些优势,但是现在 java 也不是不可以做这些事,而且很多时候还比 c/cpp 做的更好。比如分布式内存计算平台 apache ignite 性能比 redis 更好并且功能还比 redis 多,分布式数据库 Casandra 性能比 MongoDB 好。还有前几个月开源的商用数据库 StarRocks 就号称比 ClickHouse 好,只不过 StarRocks 选用的开源协议受到了很多人抨击。另外,java 和 jvm 平台也在迅速发展,未来 java 的缺陷都会被一一克服。
industryhive
    95
industryhive  
   2021-10-22 09:42:00 +08:00
@Leviathann 零开销抽象虽然不是 java 的理念,但 java 也不是不能做到零开销抽象。javac 只是个前端编译器,最主要的优化都在后端 C1/C2 进行,JIT 的作用就是用来进行运行时优化的。
industryhive
    96
industryhive  
   2021-10-22 09:43:43 +08:00
@GeruzoniAnsasu 所以汇编和 C 语言一样,只适合用来开发一些小型软件。
ww2000e
    97
ww2000e  
   2021-10-22 09:46:14 +08:00
硬件限制,编程语言只能在难易度和性能上各种取舍,形成自己风格
Codelike
    98
Codelike  
   2021-10-22 09:49:11 +08:00
论造轮子的快乐
silkriver
    99
silkriver  
   2021-10-22 10:02:30 +08:00
编程语言只有一种,叫 programming launguage
lqf96
    100
lqf96  
   2021-10-22 10:13:43 +08:00 via iPhone
@industryhive Rust 的 cranelift 后端以后是计划 JIT 执行 rust 的,效率应该会有提升,当然这种情况下 ffi 对效率会有一定影响(其实 gcc 后端用的是 libgccjit,说不定也行)
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2734 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 48ms UTC 11:50 PVG 19:50 LAX 04:50 JFK 07:50
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86