由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 我看swift最显著的特点就是ref counting啊
相关主题
objective-c有arc来自动release,和jave的gc一样,怎么就没有java那么明显的慢呢?C++ 11问题:emplace_back()
python这语言解决了什么问题?大牛给介绍一下Objective C vs C++ 的优劣吧
苹果又出新语言了现在如果自学android或者ios哪个靠谱,目标是周末接小活赚外快
本版被骂的最多的三个语言大牛们对Object C有何点评?
学swift应该如何开始?谁能深入浅出的讲讲protocol和delegate的要点?
iOS/Swift 马工工资怎么样?C++糟粕和需要避免的。
最近开始接触Objetive C,发现多年的愿望实现了好的javascript程序员还真不多
说道startup,最近这些年最神奇的应该是minecraft了吧?typescript -- c# 软软的末路
相关话题的讨论汇总
话题: counting话题: ref话题: swift话题: fp话题: arc
进入Programming版参与讨论
1 (共1页)
n****1
发帖数: 1136
1
其他的静态/OO/FP这些早就不是啥新特性了,swift所做的不过是选择性吸收而已。而
最独特的东西其实是auto ref counting.
Ref counting其实cpython/cruby这些解释器都有用,但像swift这样追求高性能的语言
还是第一个吧。ref counting应该是以cpu换内存,特点是low latency low
throughput,在移动终端比较适合,桌面就没啥优势了,服务器端就算绊脚石了吧
n****1
发帖数: 1136
2
还有就是如果出了cyclic reference, python里面是需要一个supplemental garbage
collection facility, 复杂度也接近gc了。这个机制可能触发得没有java频繁,所以
在python这种低速语言是可以接受,但swift越快这个负担就越重。
还有FP style code是会生成很多隐形的cyclic reference的,纯的ref counting根本
无解,这就是gc与lisp一同诞生的原由。Swift这种ref counting会导致FP style变成
鸡肋,那还不如去掉FP style呢
最后,如果swift需要手动保证acyclic的话,那debug就会比手动管理内存更加棘手。
c*******9
发帖数: 9032
3
objective c 的高级版本已经用ARC了。一般已UI为主的程序基本不会有什么问题。
游戏的object我一般尽量用pool,减少object生成。

【在 n****1 的大作中提到】
: 其他的静态/OO/FP这些早就不是啥新特性了,swift所做的不过是选择性吸收而已。而
: 最独特的东西其实是auto ref counting.
: Ref counting其实cpython/cruby这些解释器都有用,但像swift这样追求高性能的语言
: 还是第一个吧。ref counting应该是以cpu换内存,特点是low latency low
: throughput,在移动终端比较适合,桌面就没啥优势了,服务器端就算绊脚石了吧

W***o
发帖数: 6519
4
garbage collection咋样?

【在 n****1 的大作中提到】
: 其他的静态/OO/FP这些早就不是啥新特性了,swift所做的不过是选择性吸收而已。而
: 最独特的东西其实是auto ref counting.
: Ref counting其实cpython/cruby这些解释器都有用,但像swift这样追求高性能的语言
: 还是第一个吧。ref counting应该是以cpu换内存,特点是low latency low
: throughput,在移动终端比较适合,桌面就没啥优势了,服务器端就算绊脚石了吧

p***o
发帖数: 1252
5
shared_ptr has been out there and widely used for many years.

【在 n****1 的大作中提到】
: 其他的静态/OO/FP这些早就不是啥新特性了,swift所做的不过是选择性吸收而已。而
: 最独特的东西其实是auto ref counting.
: Ref counting其实cpython/cruby这些解释器都有用,但像swift这样追求高性能的语言
: 还是第一个吧。ref counting应该是以cpu换内存,特点是low latency low
: throughput,在移动终端比较适合,桌面就没啥优势了,服务器端就算绊脚石了吧

h**********y
发帖数: 1293
6
这那。。这都多少年的技术了,
另外。。。obj-c就有吧。。。

【在 n****1 的大作中提到】
: 其他的静态/OO/FP这些早就不是啥新特性了,swift所做的不过是选择性吸收而已。而
: 最独特的东西其实是auto ref counting.
: Ref counting其实cpython/cruby这些解释器都有用,但像swift这样追求高性能的语言
: 还是第一个吧。ref counting应该是以cpu换内存,特点是low latency low
: throughput,在移动终端比较适合,桌面就没啥优势了,服务器端就算绊脚石了吧

n****1
发帖数: 1136
7
我当然知道ObjC早就有ARC,可arc的acyclic也是要手动保证的。这个在imperative
style还好控制,oop里面就力不从心了,fp用arc是天方夜谭。

【在 c*******9 的大作中提到】
: objective c 的高级版本已经用ARC了。一般已UI为主的程序基本不会有什么问题。
: 游戏的object我一般尽量用pool,减少object生成。

n****1
发帖数: 1136
8


【在 n****1 的大作中提到】
: 我当然知道ObjC早就有ARC,可arc的acyclic也是要手动保证的。这个在imperative
: style还好控制,oop里面就力不从心了,fp用arc是天方夜谭。

y*******g
发帖数: 6599
9
ARC的static analysis 基本都可以吧cycle 都找出来,有些false alarm不过也就是改
一下style的问题

【在 n****1 的大作中提到】
: 我当然知道ObjC早就有ARC,可arc的acyclic也是要手动保证的。这个在imperative
: style还好控制,oop里面就力不从心了,fp用arc是天方夜谭。

n****1
发帖数: 1136
10
OMG, static analysis for circle reference? You must be greatest genius in
man kind, who almost solved the halting problem!

【在 y*******g 的大作中提到】
: ARC的static analysis 基本都可以吧cycle 都找出来,有些false alarm不过也就是改
: 一下style的问题

c*******9
发帖数: 9032
11
可能出现的circle reference objective c会有warning。

【在 n****1 的大作中提到】
: OMG, static analysis for circle reference? You must be greatest genius in
: man kind, who almost solved the halting problem!

n****1
发帖数: 1136
12
这种false positve对C/C++/ObjC可以接受,你要是写high order function或者tail
call,两三行代码可以都弄出几十个warning,你手动解决完的时候,人家写汇编的都收
工了。

【在 c*******9 的大作中提到】
: 可能出现的circle reference objective c会有warning。
1 (共1页)
进入Programming版参与讨论
相关主题
typescript -- c# 软软的末路学swift应该如何开始?
C++里面如何new一个很大的数组啊iOS/Swift 马工工资怎么样?
[合集] 问个javascript的问题最近开始接触Objetive C,发现多年的愿望实现了
最新葵花宝典排行榜说道startup,最近这些年最神奇的应该是minecraft了吧?
objective-c有arc来自动release,和jave的gc一样,怎么就没有java那么明显的慢呢?C++ 11问题:emplace_back()
python这语言解决了什么问题?大牛给介绍一下Objective C vs C++ 的优劣吧
苹果又出新语言了现在如果自学android或者ios哪个靠谱,目标是周末接小活赚外快
本版被骂的最多的三个语言大牛们对Object C有何点评?
相关话题的讨论汇总
话题: counting话题: ref话题: swift话题: fp话题: arc