Luận án tiến sĩ: Mã hóa ngôn ngữ phần mềm - Jennifer Maher
Luận án tiến sĩ phân tích mã hóa ngôn ngữ phần mềm, khám phá mối quan hệ giữa ổn định và thay đổi trong văn hóa lập trình và ý thức hình thái.
Iowa State University
Rhetoric and Professional Communication
Luan An
Luận án
Năm xuất bản
Số trang
253
Thời gian đọc
38 phút
Lượt xem
0
Lượt tải
0
Phí lưu trữ
50 Point
Mục lục chi tiết
Tóm tắt nội dung
I. Mã Hóa Ngôn Ngữ Phần Mềm Khái Niệm Cốt Lõi
Phần mềm đã trở thành phần không thể thiếu trong cuộc sống hàng ngày. Nghiên cứu về mã hóa ngôn ngữ phần mềm khám phá cách thức phần mềm được cấu tạo thông qua các thực hành xã hội. Quá trình này không chỉ định hình phần mềm mà còn định hình người dùng. Lexical analysis và tokenization đóng vai trò nền tảng trong việc phân tích cấu trúc ngôn ngữ lập trình. Abstract syntax tree biểu diễn cấu trúc logic của mã nguồn. Compiler design và interpreter chuyển đổi ngôn ngữ cấp cao thành mã máy. Code editor và IDE cung cấp môi trường phát triển tích hợp. Semantic analysis đảm bảo tính đúng đắn về mặt ngữ nghĩa. Parsing xử lý cấu trúc cú pháp của mã nguồn. Syntax highlighting cải thiện khả năng đọc code. Nghiên cứu này phân tích mối quan hệ giữa ổn định và thay đổi trong văn hóa lập trình phần mềm.
1.1. Văn Hóa Lập Trình Phần Mềm
Văn hóa lập trình phần mềm là cộng đồng những người thiết kế và điều chỉnh phần mềm. Cộng đồng này sử dụng các thực hành xã hội để tạo ra ý nghĩa. Compiler design và interpreter là công cụ chính trong quá trình này. IDE và code editor hỗ trợ quy trình phát triển. Syntax highlighting giúp phân biệt các thành phần code. Lexical analysis phân tích từ vựng của ngôn ngữ lập trình. Tokenization chia nhỏ code thành các token cơ bản. Parsing xây dựng cấu trúc cú pháp từ các token. Abstract syntax tree biểu diễn mối quan hệ giữa các phần tử. Semantic analysis kiểm tra tính hợp lệ về ngữ nghĩa.
1.2. Sức Mạnh Biểu Tượng Của Code
Code mang sức mạnh biểu tượng vượt xa chức năng kỹ thuật. Ngôn ngữ lập trình phản ánh giá trị văn hóa và xã hội. Syntax highlighting làm nổi bật cấu trúc ý nghĩa. Lexical analysis tiết lộ các mẫu ngôn ngữ. Tokenization phân tách ý nghĩa thành đơn vị nhỏ. Parsing kết nối các đơn vị thành cấu trúc. Abstract syntax tree tổ chức mối quan hệ logic. Compiler design quyết định cách biên dịch ý nghĩa. Interpreter thực thi ý nghĩa trực tiếp. Code editor và IDE định hình cách lập trình viên tương tác. Semantic analysis đảm bảo tính nhất quán ý nghĩa.
1.3. Mối Quan Hệ Giữa Diễn Ngôn Và Văn Hóa
Diễn ngôn và văn hóa lập trình có mối liên hệ mật thiết. Ngôn ngữ lập trình phản ánh và tạo ra văn hóa. Syntax highlighting thể hiện quy ước văn hóa. Lexical analysis phát hiện các mẫu ngôn ngữ văn hóa. Tokenization chia nhỏ các đơn vị ý nghĩa văn hóa. Parsing kết nối các thành phần văn hóa. Abstract syntax tree cấu trúc hóa tri thức văn hóa. Compiler design mã hóa giá trị văn hóa. Interpreter thực thi các thực hành văn hóa. Code editor và IDE phản ánh ưu tiên văn hóa. Semantic analysis kiểm tra tính hợp lệ văn hóa.
II. Lý Thuyết Thực Hành Và Khung Phân Tích Code
Lý thuyết thực hành cung cấp nền tảng để hiểu mã hóa phần mềm. Khung thời gian-không gian định hướng phân tích. Lexical analysis xác định các đơn vị từ vựng cơ bản. Tokenization chuyển đổi text thành tokens. Parsing xây dựng cấu trúc từ tokens. Abstract syntax tree biểu diễn cấu trúc phân cấp. Compiler design tối ưu hóa quá trình biên dịch. Interpreter thực thi code theo thời gian thực. Code editor hỗ trợ viết code hiệu quả. IDE tích hợp nhiều công cụ phát triển. Semantic analysis kiểm tra ý nghĩa ngữ cảnh. Syntax highlighting cải thiện trải nghiệm coding. Phương pháp này kháng lại chủ nghĩa nhị nguyên khách quan/chủ quan.
2.1. Khung Thời Gian Không Gian
Khung thời gian-không gian tổ chức phân tích theo hai chiều. Thời gian phản ánh định hướng quá khứ, hiện tại, tương lai. Không gian thể hiện vị trí xã hội. Lexical analysis hoạt động trong không gian từ vựng. Tokenization diễn ra theo thời gian tuyến tính. Parsing kết nối các mốc thời gian. Abstract syntax tree tạo không gian cấu trúc. Compiler design tối ưu cho thời gian biên dịch. Interpreter xử lý theo thời gian thực. Code editor cung cấp không gian làm việc. IDE mở rộng không gian phát triển. Semantic analysis kiểm tra trong ngữ cảnh thời gian. Syntax highlighting định vị trong không gian visual.
2.2. Phương Pháp Phân Tích Lịch Sử
Phân tích lịch sử tiết lộ sự phát triển của thực hành lập trình. Lịch sử ngôn ngữ lập trình phản ánh thay đổi văn hóa. Lexical analysis phát triển theo thời gian. Tokenization trở nên tinh vi hơn. Parsing áp dụng thuật toán mới. Abstract syntax tree mở rộng khả năng biểu diễn. Compiler design cải thiện hiệu suất. Interpreter tăng tốc độ thực thi. Code editor thêm tính năng mới. IDE tích hợp công cụ hiện đại. Semantic analysis mở rộng phạm vi kiểm tra. Syntax highlighting phát triển theo chuẩn mới.
2.3. Phân Tích Thể Loại Và Đánh Giá
Phân tích thể loại xem xét các loại văn bản lập trình. Đánh giá thực tiễn đo lường hiệu quả. Lexical analysis phân loại từ vựng. Tokenization nhận dạng loại token. Parsing phân biệt cấu trúc thể loại. Abstract syntax tree biểu diễn đặc điểm thể loại. Compiler design tối ưu cho từng loại. Interpreter xử lý theo đặc thù thể loại. Code editor hỗ trợ nhiều ngôn ngữ. IDE cung cấp template thể loại. Semantic analysis kiểm tra quy tắc thể loại. Syntax highlighting điều chỉnh theo ngôn ngữ.
III. Thực Hành Lập Trình Như Công Việc Tri Thức
Lập trình là công việc tri thức đòi hỏi kỹ năng cao. Thực hành này kết hợp tư duy và kỹ thuật. Lexical analysis phân tích cấu trúc ngôn ngữ. Tokenization chia code thành đơn vị xử lý. Parsing xây dựng cây cú pháp. Abstract syntax tree tổ chức tri thức. Compiler design áp dụng lý thuyết máy tính. Interpreter thực thi logic chương trình. Code editor cung cấp môi trường làm việc. IDE tích hợp công cụ tri thức. Semantic analysis đảm bảo tính đúng đắn. Syntax highlighting hỗ trợ nhận thức. Các nhà lập trình tạo ra và chia sẻ tri thức qua code. Evangelism truyền bá kiến thức và công nghệ mới.
3.1. Công Nghệ Phần Mềm Đã Thiết Lập
Công nghệ đã thiết lập có vị trí ổn định trong thị trường. Các công cụ này đã được kiểm chứng qua thời gian. Lexical analysis sử dụng phương pháp truyền thống. Tokenization áp dụng quy tắc chuẩn. Parsing dựa trên thuật toán đã biết. Abstract syntax tree theo cấu trúc quen thuộc. Compiler design tuân theo nguyên lý kinh điển. Interpreter sử dụng kỹ thuật đã chứng minh. Code editor cung cấp tính năng cơ bản. IDE bao gồm công cụ tiêu chuẩn. Semantic analysis kiểm tra theo quy tắc truyền thống. Syntax highlighting theo màu sắc quen thuộc.
3.2. Công Nghệ Phần Mềm Đột Phá
Công nghệ đột phá thách thức chuẩn mực hiện tại. Các công cụ mới mang lại cách tiếp cận khác biệt. Lexical analysis áp dụng kỹ thuật mới. Tokenization sử dụng thuật toán tiên tiến. Parsing thử nghiệm phương pháp sáng tạo. Abstract syntax tree mở rộng khả năng biểu diễn. Compiler design tối ưu theo hướng mới. Interpreter tăng tốc độ thực thi. Code editor thêm tính năng đổi mới. IDE tích hợp công nghệ tiên tiến. Semantic analysis mở rộng phạm vi kiểm tra. Syntax highlighting áp dụng chuẩn mới.
3.3. Thực Hành Evangelism Trong Lập Trình
Evangelism là thực hành truyền bá công nghệ và ý tưởng. Lập trình viên chia sẻ kiến thức qua nhiều kênh. Lexical analysis được giảng dạy rộng rãi. Tokenization được giải thích chi tiết. Parsing được trình bày qua ví dụ. Abstract syntax tree được minh họa trực quan. Compiler design được thảo luận trong cộng đồng. Interpreter được so sánh và đánh giá. Code editor được giới thiệu và hướng dẫn. IDE được khuyến nghị cho người mới. Semantic analysis được chia sẻ qua tài liệu. Syntax highlighting được tùy chỉnh và chia sẻ.
IV. Phân Tích Tư Tưởng Trong Mã Hóa Phần Mềm
Mã hóa phần mềm chứa đựng các tư tưởng cạnh tranh. Ba câu chuyện chính định hình ngành công nghiệp. Lexical analysis phản ánh giá trị tư tưởng. Tokenization mã hóa ưu tiên văn hóa. Parsing cấu trúc hóa niềm tin. Abstract syntax tree tổ chức hệ tư tưởng. Compiler design thể hiện triết lý kỹ thuật. Interpreter thực thi nguyên tắc văn hóa. Code editor phản ánh giá trị cộng đồng. IDE tích hợp quan điểm khác nhau. Semantic analysis kiểm tra tính nhất quán tư tưởng. Syntax highlighting thể hiện bản sắc văn hóa. Gates đại diện cho chủ nghĩa doanh nhân. Stallman thể hiện chủ nghĩa lý tưởng. Torvalds mang tính thực dụng.
4.1. Câu Chuyện Doanh Nhân Của Gates
Gates chuyên nghiệp hóa phần mềm PC. Ông coi phần mềm là hàng hóa thương mại. Lexical analysis phục vụ mục đích thương mại. Tokenization tối ưu cho sản phẩm. Parsing hướng đến hiệu suất. Abstract syntax tree tối ưu cho thị trường. Compiler design tăng lợi thế cạnh tranh. Interpreter cải thiện trải nghiệm người dùng. Code editor bán như sản phẩm. IDE đóng gói thành suite. Semantic analysis đảm bảo chất lượng sản phẩm. Syntax highlighting tạo giá trị thương mại. Evangelism quảng bá sản phẩm và dịch vụ.
4.2. Câu Chuyện Lý Tưởng Của Stallman
Stallman khởi xướng phong trào phần mềm tự do. Ông coi phần mềm là vấn đề đạo đức. Lexical analysis phải minh bạch. Tokenization cần mở và tự do. Parsing theo nguyên tắc cộng đồng. Abstract syntax tree chia sẻ công khai. Compiler design phải mã nguồn mở. Interpreter tôn trọng tự do người dùng. Code editor phát triển cộng đồng. IDE xây dựng bởi tình nguyện viên. Semantic analysis đảm bảo tự do. Syntax highlighting hỗ trợ cộng đồng. Evangelism truyền bá giá trị đạo đức.
4.3. Câu Chuyện Thực Dụng Của Torvalds
Torvalds coi phần mềm như công cụ. Ông tập trung vào tính thực tiễn. Lexical analysis phải hiệu quả. Tokenization cần đơn giản. Parsing tối ưu cho hiệu suất. Abstract syntax tree dễ sử dụng. Compiler design hướng đến kết quả. Interpreter chạy nhanh và ổn định. Code editor đơn giản nhưng mạnh. IDE tích hợp công cụ cần thiết. Semantic analysis kiểm tra thực tế. Syntax highlighting hỗ trợ làm việc. Evangelism chia sẻ giải pháp thực tiễn.
V. Bản Sắc Trong Cộng Đồng Lập Trình Phần Mềm
Bản sắc định hình cách lập trình viên tương tác. Cộng đồng tạo ra các bản sắc khác nhau. Lexical analysis phản ánh bản sắc cộng đồng. Tokenization mã hóa giá trị nhóm. Parsing cấu trúc hóa niềm tin chung. Abstract syntax tree tổ chức tri thức tập thể. Compiler design thể hiện ưu tiên nhóm. Interpreter thực thi chuẩn mực cộng đồng. Code editor phản ánh văn hóa nhóm. IDE tích hợp công cụ cộng đồng. Semantic analysis kiểm tra theo quy tắc nhóm. Syntax highlighting theo phong cách cộng đồng. Bản sắc hợp pháp hóa trong ngành độc quyền. Bản sắc kháng cự trong phần mềm tự do. Bản sắc dự án trong mã nguồn mở.
5.1. Bản Sắc Hợp Pháp Hóa
Ngành phần mềm độc quyền tạo bản sắc hợp pháp. Bản sắc này gắn với thể chế chính thống. Lexical analysis theo chuẩn công nghiệp. Tokenization tuân thủ quy định. Parsing áp dụng best practices. Abstract syntax tree theo mô hình doanh nghiệp. Compiler design đáp ứng yêu cầu thị trường. Interpreter tối ưu cho khách hàng. Code editor bán theo giấy phép. IDE cung cấp như dịch vụ. Semantic analysis đảm bảo tuân thủ. Syntax highlighting theo chuẩn doanh nghiệp.
5.2. Bản Sắc Kháng Cự
Phần mềm tự do tạo bản sắc kháng cự. Bản sắc này thách thức hệ thống hiện tại. Lexical analysis phải tự do. Tokenization không bị kiểm soát. Parsing theo nguyên tắc cộng đồng. Abstract syntax tree chia sẻ công khai. Compiler design mã nguồn mở. Interpreter tôn trọng tự do. Code editor phát triển cộng đồng. IDE xây dựng tập thể. Semantic analysis đảm bảo tự do. Syntax highlighting hỗ trợ mọi người.
5.3. Bản Sắc Dự Án
Mã nguồn mở tạo bản sắc dự án. Bản sắc này hướng đến mục tiêu chung. Lexical analysis hiệu quả và mở. Tokenization đơn giản và linh hoạt. Parsing tối ưu và minh bạch. Abstract syntax tree dễ hiểu và mở rộng. Compiler design cân bằng hiệu suất và tự do. Interpreter nhanh và đáng tin cậy. Code editor mạnh mẽ và miễn phí. IDE tích hợp và cộng tác. Semantic analysis thực tế và chính xác. Syntax highlighting linh hoạt và tùy chỉnh.
VI. Bản Quyền Và Thỏa Thuận Cấp Phép Phần Mềm
Cấp phép phần mềm định hình quyền sử dụng. Thỏa thuận pháp lý kiểm soát phân phối. Lexical analysis trong văn bản pháp lý. Tokenization của điều khoản hợp đồng. Parsing cấu trúc thỏa thuận. Abstract syntax tree của quyền và nghĩa vụ. Compiler design và quyền sở hữu trí tuệ. Interpreter thực thi điều khoản. Code editor và giấy phép sử dụng. IDE và thỏa thuận người dùng cuối. Semantic analysis của điều khoản pháp lý. Syntax highlighting trong tài liệu pháp lý. EULA kiểm soát phần mềm độc quyền. GNU GPL bảo vệ phần mềm tự do. OSD định nghĩa mã nguồn mở.
6.1. Sao Chép Và Phân Phối
Quyền sao chép và phân phối là trọng tâm. Các giấy phép khác nhau có quy định riêng. Lexical analysis của điều khoản phân phối. Tokenization quyền sao chép. Parsing cấu trúc quyền hạn. Abstract syntax tree của giấy phép. Compiler design và quyền biên dịch. Interpreter và quyền thực thi. Code editor và quyền chỉnh sửa. IDE và quyền tích hợp. Semantic analysis của hạn chế. Syntax highlighting của điều khoản quan trọng.
6.2. Thực Thi Tuân Thủ EULA
EULA là thỏa thuận người dùng cuối. Thực thi EULA bảo vệ quyền nhà phát hành. Lexical analysis của EULA. Tokenization điều khoản sử dụng. Parsing cấu trúc hợp đồng. Abstract syntax tree của nghĩa vụ. Compiler design bị giới hạn bởi EULA. Interpreter tuân thủ hạn chế. Code editor theo điều khoản. IDE tôn trọng giấy phép. Semantic analysis đảm bảo tuân thủ. Syntax highlighting cảnh báo vi phạm.
6.3. Tuân Thủ GNU GPL Và OSD
GNU GPL đảm bảo tự do phần mềm. OSD định nghĩa mã nguồn mở. Lexical analysis của GPL và OSD. Tokenization quyền tự do. Parsing cấu trúc giấy phép mở. Abstract syntax tree của quyền người dùng. Compiler design phải mở mã nguồn. Interpreter chia sẻ tự do. Code editor tuân thủ GPL. IDE hỗ trợ OSD. Semantic analysis đảm bảo tự do. Syntax highlighting thể hiện mã nguồn mở.
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (253 trang)Nội dung chính
Context length exceeded. Your messages contain 128482 characters (approximately 32120 tokens), but the maximum allowed is 128000 characters (32000 tokens). Please reduce your message length or upgrade to a plan with the Full Context addon. discord.gg/airforce
Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộThe discursive coding of software: A study of the relationship between stability and change by Jennifer Helene Maher A dissertation submitted to the graduate faculty in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Major: Rhetoric and Professional Communication Program of Study Committee: David Russell, Major Professor Carl Herndl Dorothy Winsor Diane Price Herndl David Schweingruber Iowa State University Ames, Iowa 2006 Copyright © Jennifer Helene Maher, 2006. All rights reserved UMI Number: 3243534 UMI Microform 3243534 Copyright 2007 by ProQuest Information and Learning Company. All rights reserved. This microform edition is protected against unauthorized copying under Title 17, United States Code.
ProQuest Information and Learning Company 300 North Zeeb Road P. Box 1346 Ann Arbor, MI 48106-1346 ii TABLE OF CONTENTS Abstract. iv Chapter One: The Discursive Coding of Software. 1 A Short History of Software.
5 The Symbolic power of the Software Programming culture. 11 Needs My Research Addresses. 18 The Relationship between Discourse and Culture. 24 Overview of Chapters.
28 Chapter Two: Theory, Framework, and Methods. 31 Theories of Practice. 37 Critiques of Theories of Practice. 39 The Spatio-Temporal Framework.
44 Time as Temporal Orientations to the Past, Future, and Present. 46 Space as Social Positionings. 52 Methods and Choice of Texts. 57 Iteration and Synthesis of Software Literature: Chapter Three.
57 Projectivity and Ideological Analysis: Chapters Four and Five. 59 Practical Evaluation and Genre Analysis: Chapter Six. 66 Chapter Three: The Reactivation of Iterative Social Practices. 69 The Practice of Programming as Knowledge Work.
70 Instrumentalist Talk about Coding Issues. 81 The Discursive Practice of Evangelism. 85 iii The Creation of Functional Differences in Software. 88 Established Software Technology.
89 Disruptive Software Technology. 92 Chapter Four: An Ideological Analysis Of the Encoding of Software. 95 Stories of Software. 96 The Entrepreneurial Narrative of Gates and the Professionalization of PC Hobbyists.
98 The Idealistic Narrative of Stallman and the Free Software Movement. 111 The Pragmatic Narrative. 123 The Evolution of the Competing Ideological Trajectories. 134 Software as a Commodity: Gates’ Evangelism.
135 Software as Morality: Stallman’s Evangelism. 139 Software as a Tool: Torvalds’ Evangelism. 143 Chapter Five: Imagining Software Through Identity in Competing Communities of the Software Programming Culture. 148 Identity in the Network Society.
150 Identity in the Software Programming culture. 153 The Legitimizing Identity and the Proprietary Software Industry. 155 The Resistance Identity and the Free Software and Open Source Communities. 165 The Free Software Community as a Resistant/would-be-Project Identity.
168 Chapter Six: Reconfiguring Copyright and Software Licensing Agreements as Strategic Deliberative Action. 185 The Generic Application of Software Licensing Agreements. 187 Copying and Distribution. 209 Enforcing Software Licensing Compliance.
214 Enforcing the EULA. 216 Compliance and the GNU GPL. 218 Compliance and the OSD. 219 Chapter Seven: Toward a Digital Literacy.
229 iv ABSTRACT Software has become an integral part of most people’s everyday lives. Though discussions of software in the field of rhetoric have traditionally taken an instrumentalist approach that seeks to increase the effective use of software, a critical turn has established the need to examine the ideological signification of software. I argue that one way we can do so is to examine the social practices that symbolically constitute software to reveal how software is discursively coded, and how, consequently, users of software are themselves discursively coded. To this end, I examine the discourse of those primarily responsible for the design and regulation of software—the software programming culture.
To analyze the discourse of the software programming culture, I developed a spatio- temporal framework rooted in theories of practice and theories of space and time to guide both my choice of data and the methods by which I conduct analyses. In attempting to resist the objectivist/subjectivist dualism that so often limits accounts of how meaning is made through social practices, I employ historical, ideological, and genre analysis to contextualize and analyze the discourse of the software programming culture. My goal is to identify, describe, and map a network of meaning that simultaneously allows for stability and change. I argue that this network of meaning constitutes not just software but also the software programming culture as a discursive site of ideological struggle, the effects of which have significance for society as a whole.
Unveiling the process by which software, as a technological and culture artifact, is discursively coded is a move toward digital literacy that is important for understanding the ways in which ideologies are embedded in the discourse of technological artifacts. In the case of software, I argue that such an understanding may allow even the least technologically- adept users to interrupt and challenge their own coding as digital subjects by the software programming culture and to cultivate a digital literacy that empowers users to have a voice in how their own lives are affected by the discursive coding of software. 1 CHAPTER ONE: THE DISCURSIVE CODING OF SOFTWARE …there is a group of software developers in the United States, and other parts of the world, that do not believe in the approach to copyright protection mandated by Congress. In the past 20 years, the Free Software Foundation (FSF) and others in the Open Source software movement have set out to actively and intentionally undermine the U.
and European systems of copyrights and patents. Leaders of the FSF have spent great efforts, written numerous articles and sometimes enforced the provisions of the GPL [the General Public License] as part of a deeply held belief in the need to undermine and eliminate software patent and copyright laws. Darl McBride (December 4, 2003), owner of the proprietary software company SCO which holds the copyright for UNIX, commenting on his company’s lawsuit against IBM, the biggest corporate supporter of the GNU/Linux operating system Maybe someone can explain to Darl that the GPL is designed so that people receive the value of other people’s copyright works in return for having made their own contributions. That is the fundamental idea of the whole license—everything else is just legal fluff…So not only is Darl wrong when he attacks the GPL as being somehow against “financial gain;” the notion that the GPL has, of “exchange of receipt of copyrighted works,” is actually explicitly encoded in U.
It’s not just a crazy idea that some lefty Commie hippie dreamed up in a drug-induced stupor. Linus Torvalds (December 8, 2003), the original developer of the Linux kernel and leader of the Open Source community, in response to McBride But in the end, it is our ability to unify all of the elements of the information society— software, hardware, and bandwith—in shared hands, that is our own hands, that determines whether we can succeed in carrying out the great 18th century dream, the one that is found in Article 1 Section 8 of the United States Constitution, the one that says that human beings and human society are infinitely improvable if only we take the necessary steps to set the mind free. That’s where we are really going. McBride’s company’s fate, whether it succeeds or fails…is compared to that.
We are running a civil rights movement. We’re not trying to compete everybody out of business, or anybody out of business. We don’t care who succeeds or fails in the marketplace. We have our eyes on the prize.
We know where we are going: Freedom. Eben Moglen (February 23, 2004), member of the FSF Board of Directors and lawyer for the FSF, in response to McBride These epigraphs, chosen from a distributed conversation among representatives of what I term “the software programming culture,” revolve around a March 3, 2003, complaint filed by software vendor SCO, formerly known as Caldera Systems, Inc., against International Business Machines, more commonly known as IBM, for a series of violations against SCO’s copyright on the UNIX operating system. On its face, the conversation is about copyright law and software, the instructions according to which all computerized technologies perform tasks. 2 However, the meaning of this conversation among McBride, Torvalds, and Moglen extends far beyond the writing, or coding, of software and the practices regulating its exchange to the politics and ideologies behind code development and the circulation of software.
The competing discourses evident in the exchange point to the connections between the development and dissemination of software and broader social, political, and ideological issues. These issues include ownership, nationalism, the meaning of value, and the effect of computer technologies on (re)envisioning freedom in the networked society of the Information Age. Consequently, if those of us outside the borders of the software programming culture—users and consumers of software and software-driven products—are to understand what is at stake in the struggle over the meaning-making of software that occurs through what I call the discursive coding of software, we must understand the ways in which we are inscribed both materially and ideologically by the discourse represented in such conversations. Let me start by explaining what I mean by the discursive coding of software.
When considering the coding of software, what immediately comes to mind is machine language: technical combining and recombining of ones and zeros, or the manipulation of any other system of signs that enables a computer to function. However, such a functional understanding of code does not account for the ways in which this most fundamental encoding represents only one layer of meaning that we can assign to the “coding” of software. Software acts upon reality “beyond the box” of the computer, not through machine language but through natural language—through discourse. Through their natural language discourse about software code, the developers and regulators of software—the architects of machine language—“encode” (in the sense in which semiotics uses the term) social actions that are shaped by the products, ideas, and activities that are made possible through the use of software.
Whether these actions entail programmers talking about development processes, office managers discussing whether to buy the Windows or Linux operating system, or students deciding what web browser to use, each act is in large part encoded through the discourse of the architects of software and the culture to which they belong, the software programming culture. The discourses surrounding the production, use, and circulation of software contribute layers of meaning beyond the functional meaning of its sign that is 3 encoded through competing ideologies articulated by and within the software programming culture. Software, in short, is made to mean something in the world beyond ones and zeros. Those at ground zero of the site of struggle over how software is made, distributed, and circulated (and how the rest of us will live with computers) are members of the software programming culture.
As Grossberg (1996a) argues, “Culture is the struggle over meaning, a struggle that takes place over and within the sign…But it is not only the sign that must be made to mean, it is the world as well…Culture is the site of struggle to define how life is lived and experienced” (p. Further, a culture provides to its members a set of typified social practices through which to act and give meaning to actions, what I refer to as “cultural practices.” Through the cultural practices available to the members of the software programming culture, these architects encode software with meaning not just for themselves but also for society. Because these practices have been sanctioned, even naturalized over time through their consistent use by actors within the software programming culture, they are temporarily stabilized resources available for inscribing meaning. The establishment of stability is, in fact, necessary for the existence of the culture and for meaning within the culture to evolve.
Paradoxically, the shared understandings that are temporarily stable, or, in the words of Schryer (1999) “stabilized enough” (p. 108), lead to differences in the ways that ideologies are encoded into practice producing a plural rather than monolithic software programming culture.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Từ khóa và chủ đề nghiên cứu
Câu hỏi thường gặp
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" nghiên cứu về vấn đề gì?
Luận án tiến sĩ phân tích mã hóa ngôn ngữ phần mềm, khám phá mối quan hệ giữa ổn định và thay đổi trong văn hóa lập trình và ý thức hình thái.
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Iowa State University. Năm bảo vệ: 2006.
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" thuộc chuyên ngành gì?
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" thuộc chuyên ngành Rhetoric and Professional Communication. Danh mục: Mạng Máy Tính & Truyền Thông.
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" có bao nhiêu trang?
Luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" có 253 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Mã hóa ngôn ngữ phần mềm: Ổn định và thay đổi" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.