Presentation is loading. Please wait.

Presentation is loading. Please wait.

4 generations of programming languages

Similar presentations


Presentation on theme: "4 generations of programming languages"— Presentation transcript:

1 4 generations of programming languages
3 paradigms life cycle models: procedures analysis for a software system dev proceed. (testing phase, design: complexity) (in)feasible: early 60s, MIT: computer vision as a course project, security system: replace guards: compare human face vs id photo iris: violating, fingerprint: dirty false negative specification report: legal doc: many readers estimation and planning: $$+people+pl+… design: 2 levels data struct+ alg design implementation: coding+debugging (self) testing: different people avoid subjectivity alpha vesion: insiders, beta version: outsiders maintenance and evolution: diff version

2 CASE: smart editor, version control: git, gitlab(linux), make (
ver1, ver1.01, ver1.02…..ver8.01 ver8.02 current version, keep deltas, collaborate Software engineers!= coders, analyst, design, verification writers 3 Subjects/parties: clients $; dev: O; end-users/customers Software development process: life-cycle models: many choices tools: PL(matlab, python, R, java, C#, Ruby), DB, OS, IDE/CASE; personnel. Intelligence: moving target? 88/4Turing’s test Life cycle: series of steps thru which the development progresses.

3 Water-fall: traditional, >80%, ord eng.
req analysis (>30%): specification; needs/constraints/$$/deadline/reliability/size investigation: concept exploration, meetings, feasibility, finance 30 cities, travel once minimal Hamilton circle, NP-hard mutual misunderstanding: replace(put it back) the handle in gas station; “I have a lamb”: I have a lamb. 1 food; 2: pet; 3: nice husband/guy solutions: 0. more NL 1. use logic description, math: universal language 2. diagram/graph/visualization tools; 3. prototype: simulation sw/hw, simulink, python/matlab prototyping pl, sql

4 Why software development difficult/different MIS,
lack of visualization: moving targets, between se. communications, specification: ph1 report Design: 2 levels: Architecture/high-level: modules/classes and detail/low-level design: alg+data struct (=program) modules + comm; ds + logic/alg: each module alg, math: difference equation: discrete version of differential eq/ math/modeling Coding/implementation phase: understandable, clean logic, swimming and integration: deliver prod Testing + integration Maintenance: customer SQA: system quality assurance team Toyota () Sys an>plan>design…. pros and cons: quality, documentation, strict discipline; SQA Cons: time/$ consuming; lack of comm; big overall risk; miss target Software quality: most important: meet spec; other general ones: user friendly, efficiency, robustness, reliability, Hashing vs sort (understanding only, no need to memorize the math) Rapid prototyping: quickly build summarizations reflect main func in order to communicate with clients/peers embedded in wf model


Download ppt "4 generations of programming languages"

Similar presentations


Ads by Google