查看完整版本 : Swift 有咩不足

form5 2017-11-18 02:22 PM

Swift 有咩不足

究境Swift 有咩不足呢 好奇問下

Susan﹏汪汪 2017-11-18 02:24 PM

UnsafePointer 同UnsafeMutablePointer
唔喜歡呢兩個名太長

Susan﹏汪汪 2017-11-18 02:27 PM

冇C#的dynamic type

async await、actor model
Chris 寫左proposal

form5 2017-11-18 02:27 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 02:24 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471077553&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
UnsafePointer 同UnsafeMutablePointer
唔喜歡呢兩個名太長 [/quote]
吾係瓜,你想改咩

Susan﹏汪汪 2017-11-18 02:28 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 02:27 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471077722&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

吾係瓜,你想改咩 [/quote]
呢個名係就係明確講明unsafe

只係好似汪汪呢D C++底的人
成日寫一堆pointer會嫌太長

但最好還是不要改

Susan﹏汪汪 2017-11-18 02:32 PM

另外Swift個POP

只剩下一個終極武器仲未Implement
https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md

form5 2017-11-18 02:41 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 02:32 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471078037&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
另外Swift個POP

只剩下一個終極武器仲未Implement
[url=https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md]https://github.com/apple/swift-evolution/blob/master/proposals/0143-conditional-conformances.md[/url] [/quote]
即係 throw unimplement exception 果個guard 果個效果?

form5 2017-11-18 02:46 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 02:27 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471077712&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
冇C#的dynamic type

async await、actor model
Chris 寫左proposal [/quote]
Async await 真係一大殺器,但好多時我都懷疑後面有幾多真係async ;P

Susan﹏汪汪 2017-11-18 02:48 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 02:41 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471078501&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

即係 throw unimplement exception 果個guard 果個效果? [/quote]
不是

用實際例子就會明

standard library 有
LazyMapSequence
LazyMapCollection
LazyMapBidirectionalCollection
LazyMapRandomAccessCollection

呢幾個type係跟據source collection 係邊個種類
而決定用LazyMap***乜乜

問題就係呢到

如果可以好神奇咁
只要寫一個LazyMapCollection

然後用extension 分別implement 返
如果Source type係Bidirectional 、LazyMapCollection就會係Bidirectional
Source係random access就會得到random access

咁就唔需要分咁多個type

Susan﹏汪汪 2017-11-18 02:51 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 02:46 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471078721&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

Async await 真係一大殺器,但好多時我都懷疑後面有幾多真係async ;P [/quote]
而家黎講應該係Swift的發展最活躍

Swift到而家都依然keep住每年一個大更新
而且仲有好多功能排緊期等住implement

form5 2017-11-18 03:03 PM

即係parent class 可以 get 到 邉種extend class  extend 佢,再俾佢用某類功能?

Susan﹏汪汪 2017-11-18 03:07 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 03:03 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471079501&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]
即係parent class 可以 get 到 邉種extend class 猬xtend 佢,再俾佢用某類功能? [/quote]
主要係Wrapper用居多

proposal 裡面都有個易明D的例子

例如[code]
struct Wrapper<T> {
   
    var value: T
   
}

extension Wrapper : Equatable where T : Equatable {

    public static func ==(lhs: Wrapper, rhs: Wrapper) {
        return lhs.value == rhs.value
    }

}

[/code]

form5 2017-11-18 03:17 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 03:07 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471079658&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
主要係Wrapper用居多
proposal 裡面都有個易明D的例子
例如
struct Wrapper {
    var value: T
}
extension Wrapper : Equatable where T : Equatable {
    public static func ==(lhs: Wrapper, r ... [/quote]
即係conditional extend

Susan﹏汪汪 2017-11-18 03:21 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 03:17 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471080085&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

即係conditional extend [/quote]
Yes
應該話conditional conformances

因為conditional extension 係而家Swift本身就支援

[code]
extension MyType where .... {

}
[/code]

[[i] 本帖最後由 Susan﹏汪汪 於 2017-11-18 03:24 PM 編輯 [/i]]

form5 2017-11-18 03:28 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 03:21 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471080247&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
Yes
應該話conditional conformances

因為conditional extension 係而家Swift本身就支援

extension MyType where .... {
}
[/quote]
壞處系以後乜都可以extend, 然后係extension 做filter

Susan﹏汪汪 2017-11-18 03:34 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 03:28 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471080526&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

壞處系以後乜都可以extend, 然后係extension 做filter [/quote]
冇記錯只有struct、class、enum可以用conditional conformances

Protocol 唔可以
proposal 有講原因

但protocol 而家一直都可以conditional extend

煙民母親生賤種 2017-11-18 05:51 PM

Swift 個名最乞人憎。Swift 呢個名字本身係 financial institution 做 communication 的專用系統, 一般為  MT 字頭加不同 number 做不同 communication. 平果基本就侵權。
第二個衰就係同佢個名屌轉, swift 中文為快捷, 但佢既不能開發網頁, 又不能做快 cross platform apps. 我用 qt framework, write once, compile anywhere. 就算 一個 winform, 都直接可 compile 比 win, linux, andriod, ios 即時用到, 無須改 code. GPU computing 玩哂咁多種, 同樣 write once compile anywhere. 係唔能寫 web page. 我都唔明 swift 有乜資格叫自己做 swift, 佢應該改名做 SLOW, 名正言順。

Susan﹏汪汪 2017-11-18 06:01 PM

[quote]原帖由 [i]煙民母親生賤種[/i] 於 2017-11-18 05:51 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471086960&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]
Swift 個名最乞人憎。Swift 呢個名字本身係 financial institution 做 communication 的專用系統, 一般為  MT 字頭加不同 number 做不同 communication. 平果基本就侵權。
第二個衰就係同佢個名屌轉, swift  ... [/quote]
先唔講cross platform
你肯定你寫的code係compile 到?

煙民母親生賤種 2017-11-18 06:04 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 02:46 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471078721&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

Async await 真係一大殺器,但好多時我都懷疑後面有幾多真係async ;P [/quote]

異步的確係好。但唔係新發明, 而且 asyn await 唔能在 4.5 或之前用。變相 xp 無份。真係對 xp 用戶唔抵。xp 咁好用。根本係大迫害。但另一方面, 。叻本身係 non asyn 起家, 大部分係 non asyn class, 變左做 asyn, 寫法麻煩, non asyn method 內又唔能 call asyn method, 迫住要在頭頂改返 asyn。
Swift 都唔知有無呢 d 必備功能。. 叻有 TPL, 做 concurrent 好方便。swift 有無????????? 不過 TPL 個效能及在大量資料下用, 效能及計算結果的 integratety 成疑。

煙民母親生賤種 2017-11-18 06:16 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 06:01 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471087373&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

先唔講cross platform
你肯定你寫的code係compile 到? [/quote]

點會 compile 唔到?我好實際, 邊樣好用用邊樣。而家我連 windows 都唔用, 係 vba 要用, 或 counterparty 用, 我先迫住用。 windows 從 8 開始已經無意思。

Susan﹏汪汪 2017-11-18 06:19 PM

[quote]原帖由 [i]煙民母親生賤種[/i] 於 2017-11-18 06:16 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471088042&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]


點會 compile 唔到?我好實際, 邊樣好用用邊樣。而家我連 windows 都唔用, 係 vba 要用, 或 counterparty 用, 我先迫住用。 windows 從 8 開始已經無意思。 [/quote]
你連this係pointer都唔知

好難想像到你寫的code係compile 到

煙民母親生賤種 2017-11-18 06:28 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 03:07 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471079658&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

主要係Wrapper用居多

proposal 裡面都有個易明D的例子

例如
struct Wrapper {
   
    var value: T
   
}

extension Wrapper : Equatable where T : Equatable {

    public static func ==(lhs: Wrapper, r ... [/quote]

還有一點, 是致命傷。寫法騎呢怪誕。劃貓不像貓。兩隻耳朵便是狗。明顯係抄襲, 但又要扮原創。一貫平果 style. Obj c 就係一個好先例。

Susan﹏汪汪 2017-11-18 06:28 PM

[quote]原帖由 [i]煙民母親生賤種[/i] 於 2017-11-18 06:04 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471087535&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]


異步的確係好。但唔係新發明, 而且 asyn await 唔能在 4.5 或之前用。變相 xp 無份。真係對 xp 用戶唔抵。xp 咁好用。根本係大迫害。但另一方面, 。叻本身係 non asyn 起家, 大部分係 non asyn class, 變左做 ... [/quote]
C#的threading有好多麻煩野

如果有試過寫server
就當有個request 要send email出去

Send email 呢個動作可以background task做
唔洗等email send完、直接先response 200 OK

問題就黎
你會發現C# ASP.NET係你完成response的同時
會把你的background task一齊殺掉

然後又要extend 個task的life time

煙民母親生賤種 2017-11-18 06:31 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 06:19 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471088242&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

你連this係pointer都唔知

好難想像到你寫的code係compile 到 [/quote]

This 係 ptr 定 obj 視乎咩環境, 同點解釋。總好過你一日到黑寫埋 d 唔等洗既 byte rubbish...

煙民母親生賤種 2017-11-18 06:33 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 06:28 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471088701&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

C#的threading有好多麻煩野

如果有試過寫server
就當有個request 要send email出去

Send email 呢個動作可以background task做
唔洗等email send完、直接先response 200 OK

問題就黎
你會發現C# ASP.NET係你完成 ... [/quote]

我都唔知你 up 乜。早 d 睡對你 d 皮膚好。你唔適合寫 code.

Susan﹏汪汪 2017-11-18 06:36 PM

[quote]原帖由 [i]煙民母親生賤種[/i] 於 2017-11-18 06:33 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471088938&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]


我都唔知你 up 乜。早 d 睡對你 d 皮膚好。你唔適合寫 code. [/quote]
即係話

你連C# concurrent有咩性質都唔清楚
就學人評論唔同語言的concurrent功能

form5 2017-11-18 07:14 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 06:28 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471088701&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
C#的threading有好多麻煩野
如果有試過寫server
就當有個request 要send email出去

Send email 呢個動作可以background task做
唔洗等email send完、直接先response 200 OK
問題就黎
你會發現C# ASP.NET係你完成 ... [/quote]
應該係startup 時,開一個background process 接job

Susan﹏汪汪 2017-11-18 07:19 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 07:14 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471090850&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

應該係startup 時,開一個background process 接job [/quote]
也有個唔知咩environment定咩
可以extend指定的task的life time

開一個background process都可以
不過係咪變左會長期有個process行緊

form5 2017-11-18 07:54 PM

[quote]原帖由 [i]Susan﹏汪汪[/i] 於 2017-11-18 07:19 PM 發表 [url=http://computer.discuss.com.hk/redirect.php?goto=findpost&pid=471091074&ptid=27066628][img]http://computer.discuss.com.hk/images/common/back.gif[/img][/url]
也有個唔知咩environment定咩
可以extend指定的task的life time
開一個background process都可以
不過係咪變左會長期有個process行緊 [/quote]
就算extend , 每個controller life time scope 有基會吾同,一千個request 吾應該開一千個task, 可以話server 即死

Susan﹏汪汪 2017-11-18 07:57 PM

[quote]原帖由 [i]form5[/i] 於 2017-11-18 07:54 PM 發表 [url=http://www.discuss.com.hk/redirect.php?goto=findpost&pid=471092533&ptid=27066628][img]http://www.discuss.com.hk/images/common/back.gif[/img][/url]

就算extend , 每個controller life time scope 有基會吾同,一千個request 吾應該開一千個task, 可以話server 即死 [/quote]
反正都唔會再用.Net做server了
頁: [1] 2
查看完整版本: Swift 有咩不足