詳細信息Transporter報錯,starter
【CSDN編者按】“我們有這么多珍貴、優雅、給了我許多快樂的語法,為什么你們還在使用那些劣質的語法?你們怎么能這么盲目、這么愚蠢?”這類爭論永遠沒有勝者,建議不要嘗試。
—— Alan Perlis,1978年
查看日志:找到 is currenly locked by another process: 101001 。打開活動監視器,找到101001進程并退出該進程即可。
譯者 | 彎月,責編 | 夕顏
頭圖 | CSDN付費下載自視覺中國
出品 | CSDN(ID:CSDNnews)
以下為譯文:
上世紀七十年代末,施樂帕羅奧多研究中心(PARC)的研究人員發明了現代計算。當然,發明者也包括其他地方的人,但絕大部分的貢獻來自PARC。
其中很大一部分成果建立在Smalltalk編程語言之上。
四十年前,Smalltalk的動態更新和反射功能就已經領先于如今的許多主流語言。Smalltalk利用這些功能建立的IDE,至今讓許多徒有其表的IDE依然望塵莫及。而且Smalltalk image的功能也遠勝于Docker。
Smalltalk及其使用者不僅發明了IDE,還發明了窗口系統以及相關的概念(彈出式菜單、滾動條以及這一切背后的bit-blt原語),還建立了GUI構建器、單元測試、重構甚至敏捷開發等概念(好吧,人無完人)。
然而,如今Smalltalk的地位一落千丈,只有少數堅定的支持者。無論何時只要兩個Smalltalk使用者坐到一起,他們就必然會爭論起一個問題:為什么Smalltalk會衰落?
沒人知道為什么,因為又沒辦法造出一個平行宇宙來探其究竟。
找不到依賴,一般都是網絡問題,無法訪問maven倉庫導致的。解決辦法:設置Maven的代理服務器。在settings.xml文件里面進行倉庫的配置,改選擇為國內的倉庫,如阿里云maven倉庫等。
不管怎樣,我覺得可以從這個問題中吸取教訓。我來說說我知道的一段相關的歷史。以下的描述可能并不太準確。肯定有人比我更了解這段歷史,希望他們的評論能幫忙糾正我記錯的地方。
下面我們開始。
缺乏標準
Smallktalk有(到現在依然有)多種實現,其實現的數量甚至超過了曾經廣泛使用的編程語言。在傳統行業,一項技術有多個來源是優勢。但對于Smalltalk而言,情況則截然不同。
每個供應商的版本都略有不同,并不是不同的語言,而更像是不同的平臺。例如,Smalltalk的類并沒有公認的語法,而是通過反射方法調用來定義。不同供應商的反射API差異導致了程序定義本身就不可移植,不論程序使用的其他API如何。
一、下載ParallelsTransporterAgent如果已經購買ParallelsDesktop盒裝產品,將ParallelsDesktop安裝DVD插入PC電腦中,找到并雙擊光盤中的ParallelsTransporterAgent.exe文件開始安裝。從ParallelsDesktop官網下載頁面下載ParallelsTransporterAgent。
當然,人們為了解決這個問題付出了許多努力。從八十年代末,人們就致力于Smalltalk的標準化,在九十年代人們進一步為之努力。但是,他們的努力幾乎沒有取得任何效果。
商業模型
Smalltalk的供應商們一直有一個很奇怪的想法,那就是“酒香不怕巷子深”。他們認為他們的酒足夠香,所以應該可以賣上好價錢。
Smalltalk的供應商們一直有一個很奇怪的想法,那就是“酒香不怕巷子深”。他們認為他們的酒足夠香,所以應該可以賣上好價錢。
itmstransporter有問題,不一定只報上面類似的錯誤信息。也有可能錯誤日志里任何信息都沒有,只是告訴你上包不成功 對上包ipa包的實現邏輯和原理不了解,所以對于itmstransporter和這些錯誤的聯系,也是一知半解,有知道的同學可。
這種想法在開源出現之前就有了,盡管Smalltalk的編譯器、工具和庫都是以源代碼形式提供的,只有虛擬機是閉源的。
但是,絕大部分軟件開發者寧可自己在石板上刻程序,也不愿意購買工具,不論這些工具多么精妙。有些供應商甚至不是按照開發者席位收費,而是按照軟件的部署數量來收費。貪婪算法通常不是最優,而這種收費模式比其他模式更貪婪,效果也更差。后來的事實證明了一切。
有一件特別過分的悲劇,ParcPlace拒絕了Sun微系統公司在Sun的工作站上安裝ParcPlace Smalltalk的橄欖枝。Sun給出的條件是按照每臺機器支付版權費用,但遠遠不及ParcPlace通常開出的價錢。
最終,Sun自己開發了另一種語言,貌似是跟咖啡豆有關的,好像叫Fava吧?同樣,我們也不知道在另一個宇宙里會發生什么事情。

性能
Smalltalk比C慢很多,直到現在都是如此,而且需要耗費更多內存。在八十年代末、九十年代初,這個問題很嚴重。到了九十年代中期,我們開始開發Strongtalk,當時最有潛力的客戶之一就是瑞士銀行。他們已經部署了許多Smalltalk應用程序。他們能承受Smalltalk,而別的客戶不行。例如,他們愿意給柜員配備強大的電腦,那些電腦都是帶有32M內存的IBM個人電腦,其成本讓絕大多數公司望而卻步!
實現總要花很長時間才能跟上技術的進步,即使追上以后,也只有很少的語言能夠享受到這些進步。這一點也非常諷刺。JIT源于APL,但Smalltalk也是這個領域的先行者(Deutsch-Schiffman的研究成果),更不用說Self語言(適應性JIT的發明者)了。
Strongtalk將Self的技術應用到了Smalltalk上,于是它有了實際應用。
例如:Self需要64M,最好是96M內存,而且只能運行在Sun工作站上。Strongtalk可以在8M內存的個人電腦上運行。這一點非常重要。而且Strongtalk還有FFI,見下文。
然后Java出現了。1997年的時候Strongtalk比Java快,但Strongtalk被Sun收購了,然后其虛擬機技術被用來提高Java的速度。
Strongtalk中的Smalltalk部分早早地被埋葬了。等到它開源時,代碼都腐爛了,支持它的系統也早就消失了,整個世界早已時過境遷。但是,Smalltalk社區依然對這個項目毫無興趣。
想象一下,如果把投入到JVM的所有努力都投入到Smalltalk虛擬機中會怎樣。
最終,人們找到了一種讓JavaScript更快的方法。誰找到的?正是那群讓Strongtalk更快的人之一(Lars Bak),使用了同樣的原理。

想像一下如果Sun當時有一種還過得去的客戶端技術,那么Hot Java瀏覽器會一直活到今天。
另外,Java在客戶端的失敗成就了Java服務器端的成功。當時似乎這個主意不錯,但Sun產品的商業化最終直接導致了Sun的滅亡。Sun的Strongtalk非常適合客戶端技術,但公司的管理層無法采納這一點。
他們肯定不會采納的!幾年前他們就結束了Self項目來專心開發Java。兩年后,他們花了比開發Java多一個數量級的錢來開發Self,來購買同一項技術,以提高Java的性能。
與外界的交互
出去玩了好幾個月,回來更新一個老的IOS項目,發現使用Transporter上傳ipa文件時,AppStore已經不再支持IOS 15 SDK之前版本打包的應用了。為了能更新到IOS 15 SDK,我們必須將Xcode也升級到13版本之后。連帶著的,我的Mac系統。
Smalltalk的做事方法很獨特。通常(盡管并不絕對),這些方法都比主流的實踐好。盡管如此,它與外界的軟件環境的交互卻很困難。例如:
FFI。Smalltalk的FFI很別扭、限制很多,而且非常低效。畢竟,誰愿意從那個美麗、夢幻的肥皂泡中出來,走向骯臟危險的世界呢?
我們在九十年代中期的Strongtalk和后來的Newspeak語言中完全解決了這個問題。
窗口。Smalltalk是窗口的誕生地。諷刺的是,Smalltalk依然在自己特殊的窗口系統上運行,鎖在了單一的OS窗口中。
Strongtalk也解決了這個問題;其他人也解決了這個問題,但那些努力主要集中在他們自己孤立的世界中。后來,我們的Newspeak也有了原生的UI。
源代碼控制。缺乏統一的語法意味著Smalltalk無法使用常見的源代碼控制系統來管理,需要專用的工具。一些工具很不錯,但非常昂貴。
一般而言,把一段Smalltalk代碼直接保存成文件會出問題。Smalltalk使用一種名為file-out的格式,可以說它是一系列反射式API調用,還有一系列的元數據,如代碼創建的時間、日期等。這種組合很難用源代碼管理工具管理。
部署。Smalltalk很難將應用程序與編程環境獨立部署。原因在于,Smalltalk并不是一種通常意義上的編程語言。它是一個整體的編程系統。具體來說,Smalltalk認為計算發生在互相通信的對象之間,而所有對象都存在于同一個宇宙中,可以認為是“對象的海洋”。一些對象知道如何創建新的對象,我們稱之為“類”(這就是前面說過的沒有專門定義類語法的原因)。
如果把一些對象從它們創建時所在的海洋(即IDE)中取出來會怎樣?這是個很需要技巧的序列化問題。分解對象圖譜是非常困難的。
而把一個應用程序從IDE中分離出來(以減少資源占用,或者保護知識產權,或者避免為每個部署支付IDE的授權費用)是非常困難的。
Self transporter用一種聰明的方式解決了這個問題。Newspeak從更基礎的層面上更簡單地解決了這個問題,一是意識到傳統的語言觀點無需與Smalltalk模型對立,二是將語言嚴格地模塊化。
知識產權暴露的問題在今天已不那么重要。不論是基于服務器的應用程序,還是開源軟件,知識產權都不那么重要。浪費資源依然需要考慮,但在多數情況下還能忍受。Avi Bryant又一次解釋了他為后來的Dabble DB組織服務器的方式。其方法意想不到的簡單,使用Squeak image就能非常輕易地解決。另一個人們經常錯誤關注的問題就是性能。
那么,為什么Smalltalk沒能占領世界呢?
雖然是馬后炮,但是從老板們的角度來看,Smalltalk的價值是:
花很多錢,被綁定在一種又慢、又暴露知識產權的技術上,畫面看起來很奇怪,交互也不是太好,唯一的好處就是開發和維護非常容易!
除此之外,就是各種霉運
盡管如此,那些看透了這一切的人,今天依然在運行Smalltalk的系統,依然獲得了不菲的成果;而用現代語言替換Smalltalk的成本極其昂貴。
產生的原因 : 組件損壞 解決辦法 :到下面目錄下 "/Applications/Xcode.app/Contents/Applications/Application Loader.app/Contents/itms/bin/iTMSTransporter" 雙擊執行腳本( 如下圖所示 ),執行結束后最好重啟下Xcode。
所有我提出的這些問題都曾有過解決方案。那些嘗試過解決這些問題的人發現,這個世界并不愿意接受。這不僅因為公司領導層的目光短淺,也是Smalltalk社區自身的問題。
我在Smalltalk社區的好友就完全無視了Strongtalk和Newspeak。從自己的舒適區走出來,需要極大的勇氣和決心。
我相信,社區自己選擇了那些對于Smalltalk自身局限無所謂的人,所以他們沒有動力解決這些問題,也不愿意支持那些想要解決問題的人。實際上,他們甚至在面對面的時候都看不到這些問題,這導致他們采用了完全不切實際的商業策略,進而對他們造成了更多的傷害。
不論如何,至今仍有人在使用Smalltalk,而且比大多數人想象的還要多。勇敢的人們依然在Smalltalk系統上付出,有商業系統,也有開源系統。我說過的一些問題已經在某種程度上解決了,盡管我認為它們還沒有得到完全解決,實際效果也并沒有那么好。同樣,我們依然在努力讓Newspeak更穩定。真正的進展并非來自迂腐和平凡的人,而是那些認為自己能做得更好的夢想家。
本文為CSDN翻譯文章,轉載請注明出處。
?國產數據庫技術全面破冰,金融核心系統打破國外巨頭壟斷指日可待
?Linux 之父怒刪工程師提交的補丁,稱“太蠢了”網友:懟得好!
?Mybatis 逆向工程使用姿勢不對文檔全被清空,一怒之下寫了個插件……
?趣談程序員真香定律:源碼即設計
?干貨 | 大白話徹底搞懂 HBase RowKey 詳細設計
?熱評 | 警惕新基建熱潮中的區塊鏈項目爛尾
版權聲明:本站文章均來源于網絡,如有侵權請聯系刪除!
