چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Concepts of Programming Languages, Global Edition

Sebesta, Robert W.; Mukherjee, Soumen; Bhattacharjee, Arup Kumar

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۵
فرمت
PDF
زبان
انگلیسی
تعداد صفحات
۶ صفحه
حجم فایل
۷٫۸ مگابایت
شابک
9780133943023، 9781292100555، 9781292100562، 013394302X، 1292100559، 1292100567

دربارهٔ کتاب

For courses in computer programming." Evaluating the Fundamentals of Computer Programming Languages "Concepts of Computer Programming Languages " introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares readers to study compiler design. The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, "Concepts of Computer Programming Languages" teaches programmers the essential differences between computing with specific languages. Cover......Page 1 Title Page......Page 6 Copyright Page......Page 7 Preface......Page 10 Acknowledgments......Page 14 About the Author......Page 16 Contents......Page 18 Chapter 1 Preliminaries......Page 28 1.1 Reasons for Studying Concepts of Programming Languages......Page 29 1.2 Programming Domains......Page 32 1.3 Language Evaluation Criteria......Page 33 1.4 Influences on Language Design......Page 44 1.5 Language Categories......Page 47 1.6 Language Design Trade-Offs......Page 48 1.7 Implementation Methods......Page 49 1.8 Programming Environments......Page 56 Review Questions......Page 57 Problem Set......Page 58 Chapter 2 Evolution of the Major Programming Languages......Page 60 2.1 Zuse’s Plankalkül......Page 63 2.2 Pseudocodes......Page 64 2.3 The IBM 704 and Fortran......Page 67 2.4 Functional Programming: Lisp......Page 72 2.5 The First Step Toward Sophistication: ALGOL 60......Page 77 2.6 Computerizing Business Records: COBOL......Page 83 2.7 The Beginnings of Timesharing: Basic......Page 88 Interview: Alan Cooper—User Design and Language Design......Page 91 2.8 Everything for Everybody: PL/I......Page 93 2.9 Two Early Dynamic Languages: APL and SNOBOL......Page 96 2.10 The Beginnings of Data Abstraction: SIMULA 67......Page 97 2.11 Orthogonal Design: ALGOL 68......Page 98 2.12 Some Early Descendants of the ALGOLs......Page 100 2.13 Programming Based on Logic: Prolog......Page 104 2.14 History’s Largest Design Effort: Ada......Page 106 2.15 Object-Oriented Programming: Smalltalk......Page 110 2.16 Combining Imperative and Object-Oriented Features: C++......Page 112 2.17 An Imperative-Based Object-Oriented Language: Java......Page 115 2.18 Scripting Languages......Page 118 2.19 The Flagship .NET Language: C#......Page 125 2.20 Markup-Programming Hybrid Languages......Page 127 Bibliographic Notes......Page 129 Review Questions......Page 130 Problem Set......Page 132 Programming Exercises......Page 134 Chapter 3 Describing Syntax and Semantics......Page 136 3.1 Introduction......Page 137 3.2 The General Problem of Describing Syntax......Page 138 3.3 Formal Methods of Describing Syntax......Page 140 History Note......Page 155 3.5 Describing the Meanings of Programs: Dynamic Semantics......Page 161 History Note......Page 169 Summary......Page 182 Review Questions......Page 183 Problem Set......Page 184 Chapter 4 Lexical and Syntax Analysis......Page 188 4.1 Introduction......Page 189 4.2 Lexical Analysis......Page 190 4.3 The Parsing Problem......Page 198 4.4 Recursive-Descent Parsing......Page 202 4.5 Bottom-Up Parsing......Page 210 Summary......Page 218 Review Questions......Page 219 Problem Set......Page 220 Programming Exercises......Page 221 Chapter 5 Names, Bindings, and Scopes......Page 224 5.1 Introduction......Page 225 History Note......Page 226 5.3 Variables......Page 227 5.4 The Concept of Binding......Page 230 5.5 Scope......Page 238 5.6 Scope and Lifetime......Page 249 5.7 Referencing Environments......Page 250 5.8 Named Constants......Page 251 Review Questions......Page 254 Problem Set......Page 255 Programming Exercises......Page 260 Chapter 6 Data Types......Page 262 6.1 Introduction......Page 263 6.2 Primitive Data Types......Page 265 6.3 Character String Types......Page 269 History Note......Page 270 6.4 Enumeration Types......Page 274 6.5 Array Types......Page 277 History Note......Page 278 6.6 Associative Arrays......Page 288 Interview: ROBERTO IERUSALIMSCHY—Lua......Page 289 6.7 Record Types......Page 292 6.8 Tuple Types......Page 295 6.9 List Types......Page 297 6.10 Union Types......Page 299 6.11 Pointer and Reference Types......Page 302 History Note......Page 305 6.12 Type Checking......Page 314 6.13 Strong Typing......Page 315 6.14 Type Equivalence......Page 316 6.15 Theory and Data Types......Page 320 Summary......Page 322 Review Questions......Page 323 Problem Set......Page 325 Programming Exercises......Page 326 Chapter 7 Expressions and Assignment Statements......Page 328 7.2 Arithmetic Expressions......Page 329 7.3 Overloaded Operators......Page 338 7.4 Type Conversions......Page 340 History Note......Page 342 History Note......Page 343 7.6 Short-Circuit Evaluation......Page 345 7.7 Assignment Statements......Page 346 History Note......Page 350 Summary......Page 351 Problem Set......Page 352 Programming Exercises......Page 355 Chapter 8 Statement-Level Control Structures......Page 356 8.1 Introduction......Page 357 8.2 Selection Statements......Page 359 8.3 Iterative Statements......Page 370 History Note......Page 382 8.5 Guarded Commands......Page 383 8.6 Conclusions......Page 385 Summary......Page 386 Review Questions......Page 387 Problem Set......Page 388 Programming Exercises......Page 389 Chapter 9 Subprograms......Page 392 9.2 Fundamentals of Subprograms......Page 393 9.3 Design Issues for Subprograms......Page 401 9.4 Local Referencing Environments......Page 402 9.5 Parameter-Passing Methods......Page 404 History Note......Page 412 9.6 Parameters That Are Subprograms......Page 420 9.7 Calling Subprograms Indirectly......Page 422 9.8 Design Issues for Functions......Page 424 9.9 Overloaded Subprograms......Page 426 9.10 Generic Subprograms......Page 427 9.12 Closures......Page 433 9.13 Coroutines......Page 435 Summary......Page 438 Review Questions......Page 439 Problem Set......Page 440 Programming Exercises......Page 442 Chapter 10 Implementing Subprograms......Page 444 10.1 The General Semantics of Calls and Returns......Page 445 10.2 Implementing “Simple” Subprograms......Page 446 10.3 Implementing Subprograms with Stack-Dynamic Local Variables......Page 448 10.4 Nested Subprograms......Page 456 10.5 Blocks......Page 463 10.6 Implementing Dynamic Scoping......Page 464 Review Questions......Page 468 Problem Set......Page 469 Programming Exercises......Page 472 Chapter 11 Abstract Data Types and Encapsulation Constructs......Page 474 11.1 The Concept of Abstraction......Page 475 11.2 Introduction to Data Abstraction......Page 476 11.3 Design Issues for Abstract Data Types......Page 479 11.4 Language Examples......Page 480 Interview: BJARNE STROUSTRUP—C++: Its Birth, Its Ubiquitousness, and Common Criticisms......Page 481 11.5 Parameterized Abstract Data Types......Page 499 11.6 Encapsulation Constructs......Page 503 11.7 Naming Encapsulations......Page 507 Summary......Page 510 Review Questions......Page 511 Programming Exercises......Page 513 Chapter 12 Support for Object-Oriented Programming......Page 516 12.1 Introduction......Page 517 12.2 Object-Oriented Programming......Page 518 12.3 Design Issues for Object-Oriented Languages......Page 522 12.4 Support for Object-Oriented Programming in Specific Languages......Page 527 Interview: BJARNE STROUSTRUP—On Paradigms and Better Programming......Page 531 12.5 Implementation of Object-Oriented Constructs......Page 555 12.6 Reflection......Page 558 Summary......Page 564 Review Questions......Page 565 Problem Set......Page 567 Programming Exercises......Page 568 Chapter 13 Concurrency......Page 570 13.1 Introduction......Page 571 13.2 Introduction to Subprogram-Level Concurrency......Page 576 13.3 Semaphores......Page 581 13.4 Monitors......Page 586 13.5 Message Passing......Page 588 13.6 Ada Support for Concurrency......Page 589 13.7 Java Threads......Page 597 13.8 C# Threads......Page 607 13.9 Concurrency in Functional Languages......Page 612 13.10 Statement-Level Concurrency......Page 615 Summary......Page 617 Review Questions......Page 619 Problem Set......Page 621 Programming Exercises......Page 622 Chapter 14 Exception Handling and Event Handling......Page 624 14.1 Introduction to Exception Handling......Page 625 History Note......Page 629 14.2 Exception Handling in C++......Page 631 14.3 Exception Handling in Java......Page 635 14.4 Exception Handling in Python and Ruby......Page 642 14.5 Introduction to Event Handling......Page 645 14.6 Event Handling with Java......Page 646 14.7 Event Handling in C#......Page 650 Summary......Page 653 Bibliographic Notes......Page 654 Review Questions......Page 655 Problem Set......Page 656 Programming Exercises......Page 658 Chapter 15 Functional Programming Languages......Page 660 15.1 Introduction......Page 661 15.2 Mathematical Functions......Page 662 15.3 Fundamentals of Functional Programming Languages......Page 665 15.4 The First Functional Programming Language: Lisp......Page 666 15.5 An Introduction to Scheme......Page 670 15.6 Common Lisp......Page 688 15.7 ML......Page 690 15.8 Haskell......Page 695 15.9 F#......Page 700 15.10 Support for Functional Programming in Primarily Imperative Languages......Page 703 15.11 A Comparison of Functional and Imperative Languages......Page 706 Summary......Page 708 Review Questions......Page 710 Problem Set......Page 712 Programming Exercises......Page 713 Chapter 16 Logic Programming Languages......Page 716 16.2 A Brief Introduction to Predicate Calculus......Page 717 16.3 Predicate Calculus and Proving Theorems......Page 721 16.4 An Overview of Logic Programming......Page 723 16.6 The Basic Elements of Prolog......Page 725 16.7 Deficiencies of Prolog......Page 740 16.8 Applications of Logic Programming......Page 746 Summary......Page 747 Review Questions......Page 748 Problem Set......Page 749 Programming Exercises......Page 750 Bibliography......Page 752 A......Page 764 B......Page 766 C......Page 767 D......Page 770 E......Page 772 F......Page 773 H......Page 774 I......Page 775 J......Page 776 L......Page 777 M......Page 778 N......Page 779 P......Page 780 R......Page 783 S......Page 784 U......Page 787 Z......Page 788 For courses in computer programming. Evaluating the Fundamentals of Computer Programming LanguagesConcepts of Computer Programming Languages introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares students to study compiler design.The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Computer Programming Languages teaches students the essential differences between computing with specific languages. Introduces students to the fundamental concepts of computer programming languages and provides them with the tools necessary to evaluate contemporary and future languages. An in-depth discussion of programming language structures, such as syntax and lexical and syntactic analysis, also prepares students to study compiler design. The Eleventh Edition maintains an up-to-date discussion on the topic with the removal of outdated languages such as Ada and Fortran. The addition of relevant new topics and examples such as reflection and exception handling in Python and Ruby add to the currency of the text. Through a critical analysis of design issues of various program languages, Concepts of Programming Languages teaches students the essential differences between computing with specific languages. Robert W. Sebesta is Associate Professor Emeritus, Computer Science Office, UCCS, University of Colorado at Colorado Springs. -- Publisher's note The goals, overall structure, and approach of this eleventh edition of Concepts of Programming Languages remain the same as those of the ten earlier editions. The principal goals are to introduce the fundamental constructs of contemporary programming languages and to provide the reader with the tools necessary for the critical evaluation of existing and future programming languages. A secondary goal is to prepare the reader for the study of compiler design, by providing an in-depth discussion of programming language structures, presenting a formal method of describing syntax, and introducing approaches to lexical and syntactic analysis

قیمت نهایی

۴۴٬۰۰۰ تومان