Non-structured programming is the historically earliest programming paradigm capable of creating Turing-complete algorithms. It has been followed historically by structured programming and then object-oriented programming.

PropertyValue
dbpprop:abstract
  • Non-structured programming is the historically earliest programming paradigm capable of creating Turing-complete algorithms. It has been followed historically by structured programming and then object-oriented programming. Unstructured programming has been heavily criticized for producing hardly-readable ("spaghetti") code and is sometimes considered a bad approach for creating major projects, but had been praised for the freedom it offers to programmer and has been compared to the manner of how Mozart wrote music. There are both high and low level programming languages that use non-structured programming. These include early versions of BASIC, JOSS, FOCAL, MUMPS, TELCOMP, COBOL, machine-level code, early assembler systems (without procedural metaoperators), assembler debuggers and some scripting languages such as MS-DOS batch file language.
  • 非構造化プログラミング(ひこうぞうかぷろぐらみんぐ)は全てのコードが一つの連続したブロックに含まれているプログラミングパラダイムの一種。プログラムのタスクが必要に応じていつでも呼び出せる小さな部分(関数やサブルーチン)に分けられている構造化プログラミングとは逆である。非構造化プログラミング言語はgoto文のような実行フロー文に依存し、多くの言語で指定されたコードの部分へ飛ぶのに使われている。 非構造化ソースコードは可読性が低くデバッグすることが難しい。そのため、何らかの構造をサポートするプログラミング言語では使われない手法である。しかし、条件文とgoto文の組合せによって任意のプログラム構造が実装可能であり、理論上はプログラミング言語にそれ以外の制御構造は必要ない。非構造化プログラミングはまだMS-DOSのバッチファイルのようなスクリプト言語やBASICやFORTRANのような古いプログラミング言語で使われている。goto文(ジャンプ)は呼び出し手続きより僅かに性能が高いとはいうものの、現在のCPUアーキテクチャでは無視して良い程度になった。実際、不適切なそのような文の使用はコードを混乱させたりコンパイラ最適化を阻害してしまい、有害である場合がある。 アセンブリ言語はほとんどが非構造化言語である。なぜなら基本的な機械語には構造が決して無いからである。それが持つ唯一の構造は、基本的な(スタックベースのマシンによくある)「サブルーチンジャンプ; Jump to Subroutine」命令や、関数の始めと終わりを示すなどのコンパイラなどが必要とする記述だけである。
  • Yapısal olmayan programlama, program yazılış sırası ile işletilirler. Bir “goto” terimi işletimin programda bir yerden başka bir yere iletilmesini sağlar. Bir “goto” çağırıldığında program goto’nun hedef satırından devam eder. Bu yüzden programın nasıl çalıştığını anlamak için programı aklınızda çalıştırmanız gerekir. Bunun anlamı programın mantığının anlaşılması özellikle program büyüdükçe imkânsızlaşmasıdır. Bazı derleyiciler “goto”ların hedeflerini indeksleyerek daha kolay bir dolaşım sağlayabilmektedir. Yapısal olmayan programlamanın karmaşıklığından dolayı Dijkstra “goto” teriminin kullanımının yasaklanması gerektiğini savunmuştur. Programlama dillerinde gerekmemesine rağmen, goto terimlerine yer verilmiştir. Bu terimin kullanılabileceği diller için Assembly, C, BASIC, FORTRAN gibi diller örnek verilebilir. Yapısal olmayan programlama aynı zamanda “spagetti kod” teriminin temelini oluşturmaktadır. Spagetti kod, içinde çok sayıda goto barındıran karmaşık kod yapılarına verilen argo bir terimdir.
dbpprop:reference
rdfs:comment
  • Non-structured programming is the historically earliest programming paradigm capable of creating Turing-complete algorithms. It has been followed historically by structured programming and then object-oriented programming.
  • Yapısal olmayan programlama, program yazılış sırası ile işletilirler. Bir “goto” terimi işletimin programda bir yerden başka bir yere iletilmesini sağlar. Bir “goto” çağırıldığında program goto’nun hedef satırından devam eder. Bu yüzden programın nasıl çalıştığını anlamak için programı aklınızda çalıştırmanız gerekir. Bunun anlamı programın mantığının anlaşılması özellikle program büyüdükçe imkânsızlaşmasıdır.
rdfs:label
  • Non-structured programming
  • 非構造化プログラミング
  • Yapısal olmayan programlama
skos:subject
foaf:page
is dbpprop:redirect of