日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

為什么說可視化編程是糟糕的想法?

電子工程師 ? 來源:lq ? 2018-12-16 11:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

可視化編程語言可以讓程序員通過操縱圖形元素來創(chuàng)建程序,而無需鍵入文本命令。

眾所周知的例子是 Scratch,這是一種麻省理工學院開發(fā)的可視化編程語言,用來教孩子們學編程。

該語言的優(yōu)勢在于新手和普通用戶可以更容易接觸編程。二十世紀九十年代曾經(jīng)有一種非常流行的運動,即通過所謂的 CASE 工具將這類工具帶入企業(yè),這些企業(yè)的系統(tǒng)可以通過 UML 進定義和生成,而無需雇傭訓練有素的軟件開發(fā)人員。

這涉及“round tripping”的概念,即通過可視化的手法為系統(tǒng)建模,根據(jù)模型生成程序代碼,而且任何代碼的變更都可以反向反映到模型上。但最終這些工具未能兌現(xiàn)承諾,而且大多數(shù)這類嘗試現(xiàn)在也已基本放棄了。

因此,除了一些非常有限的領(lǐng)域外,可視化編程都未能成功。其中的原因基本上可以歸于以下幾種對編程的誤解:

文本編程語言混淆了本質(zhì)上很簡單的過程。

抽象和解耦是外圍問題,對編程的意義不大。

為支持編程而開發(fā)的工具并不重要。

誤解一:文本編程語言混淆了編程本質(zhì)

第一個誤解認為軟件開發(fā)的門檻很高,因為文本編程語言混淆了編程的本質(zhì)。Scratch 在教育學家中的流行就屬于這種誤解。

該觀點認為編程實際上非常簡單,我們只需通過清晰的圖形來表現(xiàn),就可以大大降低創(chuàng)建和閱讀軟件所需的學習曲線和努力程度。

我認為這種誤解是因為有些人未能真正讀懂用標準的文本編程語言編寫的程序,并想象可以將程序轉(zhuǎn)換成盒子和箭頭等圖形元素。

如果你這樣做,很快就會發(fā)現(xiàn)一行代碼經(jīng)常需要映射到多個盒子上,一個簡單的程序包含數(shù)百行代碼的情況是常態(tài),因此這將轉(zhuǎn)化為成百上千個圖形元素。在頭腦中理解如此復(fù)雜的圖形往往比閱讀同等的文本更加困難。

在這個問題上,大多數(shù)可視化編程語言的解決方案是使用“塊”來代表更為復(fù)雜的操作,從而可以讓每個可視化元素都代表一大段文本代碼??梢暬鞒坦ぞ呤亲锟準?。

問題是我們需要在某個地方定義這些代碼。于是,這就成了“屬性對話編程”??梢暬乇旧韮H代表最高級別的程序流程,而大多數(shù)的工作是通過隱藏在盒子中的標準文本代碼完成。這種做法釀成了現(xiàn)如今兩邊皆難堪的局面。一邊的文本編程語言沒有現(xiàn)代工具支持。

屬性對話編程通常是低配版的標準開發(fā)環(huán)境,而且你必須選擇特定的語言,通常是某種腳本語言。而在另一邊,可視化元素只能等待有經(jīng)驗的程序員創(chuàng)建,而且只有通過閱讀底層的代碼才能讀懂程序,所以大多數(shù)視覺化表現(xiàn)手法的優(yōu)勢都喪失了。

視覺上的“代碼”和文本代碼之間存在著阻抗失配,而且程序員必須不斷在兩者之間來回切換,時間都浪費在滿足圖形編程工具的需求上,而不是解決手頭的問題。

誤解二:抽象和解耦是外圍問題

因此才有了第二個誤解,即抽象和解耦是外圍問題??梢暬幊碳僭O(shè)大多數(shù)程序都是簡單的程序序列,有點像流程圖。實際上,這也是大多數(shù)新手程序員想象的軟件工作原理。

然而,一旦程序的規(guī)模超出了簡單的示例,新手程序員很快就會被復(fù)雜性壓垮。他們發(fā)現(xiàn)很難推斷程序的代碼庫,而且常常難以大規(guī)模地創(chuàng)建穩(wěn)定又高效的軟件。

編程語言中的大多數(shù)創(chuàng)新都是為了管理復(fù)雜性,最常見的是通過抽象、封裝和解耦。面向?qū)ο蠛秃瘮?shù)式編程中所有類型的系統(tǒng)和裝置實際上都是為了努力控制這種復(fù)雜性。大多數(shù)專業(yè)程序員會持續(xù)不斷地抽象和解耦代碼。

實際上,好代碼和差代碼之間的本質(zhì)區(qū)別也在于此。可視化編程工具很少擁有有效的機制來執(zhí)行這些操作,而開發(fā)人員也必將陷入二十世紀七十年代 BASIC 的漩渦中。

誤解三:為支持編程而開發(fā)的工具并不重要

最后一個誤解是即使沒有現(xiàn)代編程工具的支持,可視化程序員也可以編程。想想代碼編輯器和 IDE 漫長的演變過程。

例如,Visual Studio 支持高效的智能感知,可以單獨查找基類庫中數(shù)千個 API。缺乏良好的源代碼控制是絕大多數(shù)可視化編程工具的另一個主要的缺點。即使這些可視化工具的布局保存為文本的格式,代碼的差異也毫無可讀性可言,因此毫無意義。

我們很難從大塊的 XML 或 JSON 找出每行代碼的修改來源。一些對程序的功能執(zhí)行沒有任何影響的因素,比如圖形元素的位置和大小,也會導(dǎo)致元數(shù)據(jù)的變化,這讓解析差異變得更加困難。

文本編程語言知道將不同的代碼保存到不同的源代碼文件中,因此系統(tǒng)某一部分的變更很容易與另一部分的變更合并。

可視化編程工具通常會將每個圖表保存在一個文件中,這意味著合并也會成問題,當遇到難以解析差異的語義時,難度會更大。

總之,可視化編程工具提供的優(yōu)勢,即簡化程序的創(chuàng)建和理解只是一個海市蜃樓。

只有在非常簡單的編程中才可行,在這種不理想的形勢下,最好的結(jié)果也不過是說:可視化元素是具有混淆副作用的文本代碼的容器。

補充說明

可能在第一段中加上 Scratch 的截圖并用作主要示例是錯誤的做法。我不是一名教育工作者,我不知道 Scratch 是否可以作為一種有效的教學工具。

許多人提到,Scratch 在編程教學方面非常有用,特別是對兒童而言。任何可以引導(dǎo)人們進入精彩紛呈的編程世界的東西,我都歡迎。

我并不想通過這篇文章抨擊 Scratch,提到它只是因為它是大多數(shù)人都聽過的最有名的可視化編程系統(tǒng)。

有人在 Reddit 上提到的另一個反面例子是靜態(tài)結(jié)構(gòu)工具,例如 UI 設(shè)計工具、數(shù)據(jù)庫模式設(shè)計工具或類設(shè)計工具。

我同意這些工具非常有用。任何有助于可視化數(shù)據(jù)結(jié)構(gòu)、或程序的大規(guī)模結(jié)構(gòu)的工具都是好東西。

但這些不足以支撐他們的論點。PowerBuilder 等 90 個試圖通過在圖形可視化之上構(gòu)建工具,來開發(fā)出一個完全不用寫代碼的開發(fā)環(huán)境,可是最終都失敗了,這恰恰證明了我的觀點。

你如何看待可視化編程?

針對可視化編程并不是理想的想法,評論區(qū)的不少網(wǎng)友也發(fā)表了不一樣的看法:

評論1:

你混淆了圖形數(shù)據(jù)流語言(帶有隱藏選項框和連接這些框的箭頭)與Scratch。Scratch 是一種文本語言,里面的程序語句和類型是預(yù)定義的形狀,可以消除語法錯誤。

你無法在 Scratch 中犯語法錯誤,因為這些框無法組合在一起。 除了這種語法幫助之外,Scratch 不會隱藏任何內(nèi)容,并且格式也與純文本語言沒有差別。

也就是說,我同意你說的有關(guān)其他教學語言的大部分內(nèi)容,例如用于 Lego Mindstorms 機器人套件的語言。

該語言源自 LabView,大多數(shù)初學者發(fā)現(xiàn)很難超越幾個塊或連接變量之類的東西。我的猜測是,一種能夠通過變量賦值來達到復(fù)雜性障礙的語言并不能很好地擴展:-)。

評論 2:

我認為你的文章的出發(fā)點不正確,因為可視化編程根本不是為程序員準備的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關(guān)注

    關(guān)注

    10

    文章

    1965

    瀏覽量

    39907
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1367

    瀏覽量

    22919

原文標題:為什么說可視化編程是糟糕的想法?

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    高質(zhì)量可視化大屏應(yīng)該這樣設(shè)計

    在數(shù)據(jù)驅(qū)動決策的當下,可視化大屏已成為企業(yè)數(shù)據(jù)呈現(xiàn)、業(yè)務(wù)監(jiān)控的核心載體,圖撲軟件基于自研 HT for Web 前端可視化引擎,打造無需依賴第三方插件、純 Web 端部署的 2D3D 圖形渲染內(nèi)核
    的頭像 發(fā)表于 04-23 14:22 ?145次閱讀
    高質(zhì)量<b class='flag-5'>可視化</b>大屏應(yīng)該這樣設(shè)計

    3D系統(tǒng)可視化

    本身的深入描述和F-Theta透鏡的應(yīng)用示例。 光學系統(tǒng)的3D-可視化 VirtualLab Fusion提供的工具可以實現(xiàn)光學系統(tǒng)的3D可視化,因此可以用于檢查元件的位置,以及快速了解系統(tǒng)內(nèi)部的光
    發(fā)表于 03-30 09:25

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單

    KubePi:開源Kubernetes可視化管理面板,讓集群管理如此簡單 在云原生時代,Kubernetes已成為容器編排的事實標準,但其復(fù)雜性卻讓許多開發(fā)者望而卻步。KubePi作為一款現(xiàn)代
    發(fā)表于 02-11 12:53

    工業(yè)物聯(lián)網(wǎng)可視化平臺是什么?有什么功能?

    工業(yè)物聯(lián)網(wǎng)可視化平臺是基于物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等技術(shù),將工業(yè)生產(chǎn)中的設(shè)備、系統(tǒng)、流程等數(shù)據(jù)以圖形方式呈現(xiàn),實現(xiàn)實時監(jiān)控、智能分析與交互式管理的數(shù)字化工具。 其核心功能涵蓋數(shù)據(jù)集成、可視化展示
    的頭像 發(fā)表于 11-17 17:49 ?1490次閱讀

    基于 HT 技術(shù)的園區(qū)元宇宙可視化管理平臺

    在數(shù)字轉(zhuǎn)型浪潮下,園區(qū)管理對智能、可視化的需求日益迫切。本文基于 HT(Hightopo)技術(shù)棧,不依賴任何第三方插件,從技術(shù)開發(fā)視角,詳細闡述園區(qū)元宇宙智慧綜合治理可視化管理平臺
    的頭像 發(fā)表于 11-07 14:54 ?610次閱讀
    基于 HT 技術(shù)的園區(qū)元宇宙<b class='flag-5'>可視化</b>管理平臺

    工業(yè)可視化平臺是什么

    工業(yè)可視化平臺是一種基于信息技術(shù)和可視化技術(shù),將工業(yè)生產(chǎn)過程中的數(shù)據(jù)、信息、流程等以直觀、動態(tài)的圖形方式呈現(xiàn),并實現(xiàn)交互式管理與分析的數(shù)字化工具。它通過整合工業(yè)物聯(lián)網(wǎng)(IIoT)、大數(shù)據(jù)、人工智能
    的頭像 發(fā)表于 10-24 18:00 ?1261次閱讀

    光伏電站可視化的實現(xiàn)

    實現(xiàn)光伏電站可視化,核心是在于通過直觀的視覺界面,解決傳統(tǒng)運維中低效巡檢、數(shù)據(jù)孤島、被動響應(yīng)等痛點,從而提升運營效率并提供決策支持。這是一種有效的技術(shù)手段,通過數(shù)字孿生、三維建模、數(shù)據(jù)融合等技術(shù)
    的頭像 發(fā)表于 10-21 17:29 ?1382次閱讀
    光伏電站<b class='flag-5'>可視化</b>的實現(xiàn)

    數(shù)字孿生可視化系統(tǒng)構(gòu)建行業(yè)數(shù)字智能管理生態(tài)!

    數(shù)字孿生可視化系統(tǒng)具備豐富的模型組件,包括二維平面組件及3D模型組件,可根據(jù)用戶需求進行定制。數(shù)字孿生可視化系統(tǒng)在行業(yè)數(shù)字升級、數(shù)字管理中有著重要的意義,充分利用大數(shù)據(jù)技術(shù)和信息技
    的頭像 發(fā)表于 09-19 11:45 ?894次閱讀
    數(shù)字孿生<b class='flag-5'>可視化</b>系統(tǒng)構(gòu)建行業(yè)數(shù)字<b class='flag-5'>化</b>智能管理生態(tài)!

    智慧用電安全解決方案:打造全流程可視化管控

    預(yù)警、可視管控”的閉環(huán)管理體系,其核心在于實現(xiàn)對電氣安全風險的全流程、可視化、主動性管控。 一、 全域感知與數(shù)據(jù)采集:可視化管控的數(shù)據(jù)基石 全流程可視化的前提是數(shù)據(jù)的全面性與實時性。該
    的頭像 發(fā)表于 09-04 16:17 ?948次閱讀
    智慧用電安全解決方案:打造全流程<b class='flag-5'>可視化</b>管控

    如何使用協(xié)議分析儀進行數(shù)據(jù)分析與可視化

    使用協(xié)議分析儀進行數(shù)據(jù)分析與可視化,需結(jié)合數(shù)據(jù)捕獲、協(xié)議解碼、統(tǒng)計分析及可視化工具,將原始數(shù)據(jù)轉(zhuǎn)化為可解讀的圖表和報告。以下是詳細步驟及關(guān)鍵方法,涵蓋從數(shù)據(jù)采集到可視化的全流程:一、數(shù)據(jù)采集與預(yù)處理
    發(fā)表于 07-16 14:16

    物流園區(qū)全場景能源實時可視化管理與智能調(diào)控系統(tǒng)方案

    物流園區(qū)能源可視化管理系統(tǒng)方案
    的頭像 發(fā)表于 06-27 17:04 ?751次閱讀
    物流園區(qū)全場景能源實時<b class='flag-5'>可視化</b>管理與智能調(diào)控系統(tǒng)方案

    如何實現(xiàn)光伏數(shù)字孿生可視化?

    光伏數(shù)字孿生可視化是通過數(shù)字手段構(gòu)建光伏電站的虛擬鏡像,實現(xiàn)物理實體與數(shù)字模型的實時映射與交互,目的是促進光伏電站運維管理的智能、高效。通過實時監(jiān)控與智能預(yù)警,實現(xiàn)故障快速定位以
    的頭像 發(fā)表于 05-29 15:27 ?900次閱讀
    如何實現(xiàn)光伏數(shù)字孿生<b class='flag-5'>可視化</b>?

    開關(guān)柜防誤可視化順控操作為什么有必要做?

    蜀瑞創(chuàng)新科普:開關(guān)柜防誤可視化順控操作(通常指基于可視化技術(shù)的順序控制防誤操作)即使在已有傳統(tǒng)五防系統(tǒng)的基礎(chǔ)上,仍然具有重要的現(xiàn)實意義和必要性,主要原因如下:
    的頭像 發(fā)表于 05-29 09:22 ?685次閱讀
    開關(guān)柜防誤<b class='flag-5'>可視化</b>順控操作為什么有必要做?

    工業(yè)設(shè)備可視化管理系統(tǒng)是什么

    工業(yè)設(shè)備可視化管理系統(tǒng)是一種基于物聯(lián)網(wǎng)(IoT)、大數(shù)據(jù)、云計算、數(shù)字孿生等技術(shù),對工業(yè)設(shè)備的運行狀態(tài)、性能參數(shù)、維護信息等進行實時監(jiān)測、數(shù)據(jù)整合與可視化呈現(xiàn)的智能管理平臺。它通過將復(fù)雜的設(shè)備數(shù)據(jù)
    的頭像 發(fā)表于 05-27 14:56 ?1349次閱讀
    工業(yè)設(shè)備<b class='flag-5'>可視化</b>管理系統(tǒng)是什么

    光伏電站可視化這種技術(shù)的難點有哪些?

    通過數(shù)字孿生、三維建模、數(shù)據(jù)融合等技術(shù),將光伏電站的物理環(huán)境、設(shè)備狀態(tài)、發(fā)電數(shù)據(jù)等信息以圖形、動態(tài)的形式呈現(xiàn),這便是光伏電站可視化,其核心在于構(gòu)建電站的虛擬鏡像,實現(xiàn)運行狀態(tài)的實時監(jiān)控、故障預(yù)測
    的頭像 發(fā)表于 05-15 10:56 ?756次閱讀
    天镇县| 青阳县| 剑河县| 饶阳县| 南平市| 旬阳县| 永兴县| 黄山市| 彩票| 肃南| 陆河县| 镇江市| 田阳县| 杭锦旗| 新野县| 两当县| 翼城县| 云霄县| 江油市| 民勤县| 呼伦贝尔市| 樟树市| 老河口市| 合山市| 沙洋县| 靖州| 凯里市| 绿春县| 奉节县| 平邑县| 云霄县| 邢台市| 永仁县| 昌乐县| 淮南市| 彭阳县| 绍兴市| 城口县| 曲麻莱县| 濉溪县| 自贡市|