Lập trình java tổng quát. Lập trình hướng đối tượng. Hướng tới lập trình hướng đối tượng

tiếng Đức Chương trình âm nhạc, tiếng Pháp. một chương trình âm nhạc, tiếng Ý. chương trình âm nhạc, tiếng Anh. chương trình âm nhạc

Tác phẩm âm nhạc có ngôn từ nhất định, thường mang tính chất thơ. chương trình và tiết lộ nội dung in sâu trong đó. Hiện tượng âm nhạc lập trình gắn liền với cụ thể. đặc điểm của âm nhạc để phân biệt nó với các nghệ thuật khác. Trong lĩnh vực thể hiện tình cảm, tâm trạng, đời sống tinh thần của con người, âm nhạc có lợi thế quan trọng trước các yêu cầu khác. Một cách gián tiếp, thông qua cảm xúc và tâm trạng, âm nhạc có thể phản ánh nhiều điều. các hiện tượng của thực tế. Tuy nhiên, nó không thể chỉ ra chính xác điều gì gợi lên cảm giác này hoặc cảm giác kia ở một người và không thể đạt được tính đặc thù khách quan, mang tính khái niệm của việc thể hiện. Ngôn ngữ nói và văn học có tiềm năng cho sự đặc tả như vậy. Phấn đấu cụ thể hóa nội dung, khái niệm, các nhà soạn nhạc tạo ra âm nhạc có lập trình. sản xuất; mở đầu Op. chương trình, họ ép buộc các phương tiện ngôn ngữ nói, nghệ thuật. lít hoạt động thống nhất, tổng hợp với âm nhạc thực tế. có nghĩa. Sự thống nhất giữa âm nhạc và văn học còn được tạo điều kiện thuận lợi bởi chúng mang tính tạm thời, có khả năng thể hiện sự trưởng thành và phát triển của hình tượng. Thợ lặn đoàn kết. vụ kiện đã diễn ra từ lâu. Vào thời cổ đại không có quốc gia độc lập nào cả. các loại hình nghệ thuật - họ hành động cùng nhau, thống nhất, nghệ thuật mang tính đồng bộ; đồng thời nó gắn liền với hoạt động lao động và với nhiều hoạt động khác nhau. các loại nghi lễ và nghi lễ. Vào thời điểm này, mỗi vụ kiện đều bị hạn chế về kinh phí đến mức vượt quá khả năng đồng bộ. đoàn kết nhằm giải quyết bài toán ứng dụng, không thể tồn tại. Sự tách biệt các vụ kiện sau đó không chỉ được quyết định bởi sự thay đổi trong lối sống mà còn bởi sự phát triển năng lực của mỗi người trong số họ, đạt được trong sự đồng bộ. sự thống nhất gắn liền với sự phát triển này của thẩm mỹ. cảm xúc của con người. Đồng thời, sự thống nhất của nghệ thuật không bao giờ ngừng nghỉ, trong đó có sự thống nhất của âm nhạc với ngôn từ, thơ ca - đặc biệt là ở các loại chảo. và voc.-kịch tính. thể loại. Ở thời điểm bắt đầu. Vào thế kỷ 19, sau một thời gian dài tồn tại của âm nhạc và thơ ca như những nghệ thuật độc lập, xu hướng thống nhất chúng càng trở nên mạnh mẽ hơn. Điều này không còn được quyết định bởi điểm yếu của họ nữa mà bằng sức mạnh của họ, bằng cách đẩy bản thân đến giới hạn. những cơ hội. Chỉ có thể đạt được sự phong phú hơn nữa của việc thể hiện hiện thực ở mọi khía cạnh, đa dạng của nó thông qua hành động kết hợp giữa âm nhạc và lời nói. Và tính lập trình là một trong những kiểu thống nhất giữa âm nhạc và phương tiện của ngôn ngữ nói, cũng như văn học, biểu thị hoặc phản ánh những khía cạnh đó của một đối tượng phản ánh duy nhất mà âm nhạc không thể truyền tải bằng các phương tiện riêng của nó. Vì vậy, một yếu tố không thể thiếu của chương trình âm nhạc. sản phẩm. là một chương trình bằng lời nói do chính nhà soạn nhạc sáng tạo hoặc lựa chọn, có thể là một tiêu đề chương trình ngắn chỉ ra một hiện tượng thực tế mà nhà soạn nhạc đã nghĩ đến (vở kịch “Buổi sáng” của E. Grieg từ bản nhạc đến vở kịch “Peer-” của G. Ibsen Gynt”) , đôi khi “đề cập” người nghe đến một ánh sáng nhất định. sản phẩm. (“Macbeth” của R. Strauss là một bài thơ giao hưởng “dựa trên vở kịch của Shakespeare”), hoặc một đoạn trích dài từ một tác phẩm văn học, một chương trình chi tiết do nhà soạn nhạc biên soạn dựa trên tác phẩm văn học này hoặc tác phẩm văn học khác. sản phẩm. (tổ khúc giao hưởng (bản giao hưởng thứ 2) “Antar” của Rimsky-Korskov dựa trên câu chuyện cổ tích cùng tên của O. I. Senkovsky) hoặc không có mối liên hệ nào với k.-l. thắp sáng. nguyên mẫu (Bản giao hưởng Fantastique của Berlioz).

Không phải mọi tựa đề, không phải mọi lời giải thích về âm nhạc đều có thể được coi là chương trình của nó. Chương trình chỉ có thể đến từ tác giả của âm nhạc. Nếu anh ta không truyền đạt chương trình thì kế hoạch của anh ta không có tính lập trình. Nếu lần đầu tiên anh ấy đưa ra ý kiến ​​của mình. chương trình, và sau đó bỏ nó, có nghĩa là anh ấy đã dịch tác phẩm của mình. được phân loại là không có chương trình. Chương trình không phải là một lời giải thích về âm nhạc, nó bổ sung cho nó, bộc lộ điều gì đó còn thiếu trong âm nhạc, không thể tiếp cận được với hiện thân của các nàng thơ. có nghĩa là (nếu không nó sẽ không cần thiết). Đây là điều làm cho nó về cơ bản khác biệt với bất kỳ phân tích nào về âm nhạc của một tác phẩm không có chương trình, bất kỳ mô tả nào về âm nhạc của nó - ngay cả mô tả thơ mộng nhất, bao gồm cả. và từ mô tả của tác giả op. và chỉ ra những hiện tượng cụ thể được đưa vào tác phẩm sáng tạo của ông. ý thức của một số nàng thơ. hình ảnh. Và ngược lại - chương trình op. - đây không phải là một “bản dịch” sang ngôn ngữ âm nhạc của chính chương trình mà là sự phản ánh của các nàng thơ. nghĩa của cùng một đối tượng được chỉ định và phản ánh trong chương trình. Những tiêu đề do chính tác giả đưa ra không phải là một chương trình nếu chúng không biểu thị những hiện tượng cụ thể của thực tế mà là những khái niệm về bình diện cảm xúc, mà âm nhạc truyền tải chính xác hơn nhiều (ví dụ: những tiêu đề như “Nỗi buồn”, v.v.). Nó xảy ra rằng chương trình được cung cấp cho nhà sản xuất. của chính tác giả, không phải là hữu cơ. thống nhất với âm nhạc, nhưng điều này đã được quyết định bởi nghệ thuật. kỹ năng của người soạn nhạc, và đôi khi cả việc anh ta sáng tác hoặc lựa chọn chương trình lời nói tốt như thế nào. Điều này không liên quan trực tiếp đến câu hỏi về bản chất của hiện tượng lập trình.

Bản thân âm nhạc có những phương tiện cụ thể hóa nhất định. ngôn ngữ. Trong số đó có nàng thơ. tính tượng hình (xem Bản ghi âm) - sự phản ánh các loại âm thanh khác nhau của thực tế, các ý tưởng liên tưởng do âm nhạc tạo ra. âm thanh - chiều cao, thời lượng, âm sắc của chúng. Một phương tiện cụ thể hóa quan trọng cũng là việc sử dụng các đặc điểm của các thể loại “ứng dụng” - khiêu vũ, diễu hành trong tất cả các thể loại của nó, v.v. Những đặc điểm mang tính dân tộc của âm nhạc cũng có thể được xác định. ngôn ngữ, âm nhạc phong cách. Tất cả những phương tiện cụ thể hóa này giúp có thể diễn đạt khái niệm chung về tác phẩm mà không cần dùng đến lập trình. (ví dụ: sự chiến thắng của lực lượng ánh sáng trước lực lượng bóng tối, v.v.). Tuy nhiên, chúng không cung cấp đặc điểm kỹ thuật mang tính khái niệm, nội dung được cung cấp bởi một chương trình bằng lời nói. Hơn nữa, nó được sử dụng rộng rãi hơn trong âm nhạc. sản phẩm. thực sự là âm nhạc. phương tiện cụ thể hóa, để có thể cảm nhận trọn vẹn âm nhạc, điều cần thiết nhất là ngôn từ và chương trình.

Một loại lập trình là lập trình hình ảnh. Nó bao gồm các tác phẩm phản ánh một hình ảnh hoặc một phức hợp hình ảnh về hiện thực không trải qua chúng sinh. thay đổi trong suốt nhận thức của mình. Đó là những bức tranh vẽ thiên nhiên (phong cảnh), tranh vẽ con người. lễ hội, điệu múa, trận chiến, v.v., âm nhạc. hình ảnh phụ. những đồ vật có tính chất vô tri, cũng như những bức chân dung chân dung. bản phác thảo.

Chính thứ hai Thể loại nhạc lập trình - lập trình cốt truyện. Một nguồn câu chuyện cho sản xuất phần mềm. Loại này phục vụ chủ yếu như nghệ thuật. Lít. Trong cốt truyện và chương trình âm nhạc. sản phẩm. sự phát triển của âm nhạc hình ảnh nói chung hay nói riêng tương ứng với diễn biến của cốt truyện. Có các chương trình cốt truyện tổng quát và các chương trình cốt truyện tuần tự. Tác giả của một tác phẩm liên quan đến kiểu lập trình cốt truyện khái quát và được kết nối thông qua chương trình với cái này hay cái khác. sản xuất, không nhằm mục đích thể hiện các sự kiện được mô tả trong đó theo tất cả trình tự và độ phức tạp của chúng, mà mang đến âm nhạc. đặc điểm của chính hình ảnh sáng lên. sản phẩm. và phương hướng phát triển chung của cốt truyện, mối quan hệ ban đầu và cuối cùng của các lực tác động. Ngược lại, tác giả của tác phẩm thuộc kiểu lập trình cốt truyện tuần tự lại cố gắng thể hiện các giai đoạn trung gian của quá trình phát triển các sự kiện, đôi khi là toàn bộ chuỗi sự kiện. Sự hấp dẫn đối với loại chương trình này được quyết định bởi các cốt truyện, trong đó các giai đoạn phát triển ở giữa không diễn ra theo tuyến tính mà gắn liền với việc giới thiệu các nhân vật mới, sự thay đổi trong bối cảnh hành động và các sự kiện không có liên quan. hậu quả trực tiếp của tình huống trước đó cũng trở nên quan trọng. Việc sử dụng lập trình cốt truyện tuần tự còn phụ thuộc vào tính sáng tạo. cài đặt của nhà soạn nhạc. Các nhà soạn nhạc khác nhau thường diễn giải những âm mưu giống nhau theo những cách khác nhau. Ví dụ, vở bi kịch “Romeo và Juliet” của W. Shakespeare đã truyền cảm hứng cho P. I. Tchaikovsky tạo ra một tác phẩm. loại lập trình cốt truyện tổng quát (overture-fantasy "Romeo và Juliet"), G. Berlioz - để tạo ra tác phẩm. kiểu lập trình cốt truyện tuần tự (bản giao hưởng kịch tính “Romeo và Juliet”, trong đó tác giả thậm chí còn vượt ra ngoài ranh giới của bản giao hưởng thuần túy và thu hút yếu tố thanh nhạc).

Trong lĩnh vực âm nhạc. không thể phân biệt được ngôn ngữ. dấu hiệu của P. m. Điều này cũng đúng đối với hình thức sản xuất chương trình. Trong các tác phẩm thể hiện kiểu hình lập trình, không có điều kiện tiên quyết nào cho sự xuất hiện của cái cụ thể. cấu trúc. Những nhiệm vụ mà các tác giả của sản phẩm phần mềm đặt ra cho mình. thuộc loại cốt truyện tổng quát, được trình diễn thành công bằng các hình thức được phát triển trong âm nhạc không có chương trình, chủ yếu bằng hình thức sonata allegro. Gửi các tác giả của chương trình opus. kiểu cốt truyện tuần tự phải tạo ra âm nhạc. một hình thức ít nhiều “song song” với cốt truyện. Nhưng họ xây dựng nó bằng cách kết hợp nhiều yếu tố khác nhau. các hình thức âm nhạc không có chương trình, thu hút một số kỹ thuật phát triển nhất định đã được thể hiện rộng rãi trong đó. Trong số đó có phương pháp biến phân. Nó cho phép bạn hiển thị những thay đổi không ảnh hưởng đến bản chất của hiện tượng liên quan đến số nhiều. những đặc điểm quan trọng, nhưng gắn liền với việc bảo tồn một số phẩm chất, giúp có thể nhận dạng hình ảnh, bất kể nó xuất hiện dưới hình thức mới nào. Nguyên tắc của thuyết đơn âm có liên quan chặt chẽ với phương pháp biến phân. Sử dụng nguyên tắc này dưới dạng biến đổi tượng hình, vốn được F. Liszt sử dụng rộng rãi trong các bài thơ giao hưởng và các tác phẩm khác của ông, nhà soạn nhạc có được sự tự do lớn hơn để theo dõi cốt truyện mà không có nguy cơ làm xáo trộn âm nhạc. tính toàn vẹn của op. Một kiểu chủ nghĩa đơn điệu khác, gắn liền với đặc điểm leitmotif của các nhân vật (xem Leitmotif), được sử dụng trong ch. Array. trong các tác phẩm cốt truyện tuần tự. Bắt nguồn từ opera, đặc tính leitmotif được chuyển sang lĩnh vực nhạc cụ. âm nhạc, nơi G. Berlioz là một trong những người đầu tiên và sử dụng nó rộng rãi nhất. Bản chất của nó nằm ở chỗ một chủ đề xuyên suốt toàn bộ op. đóng vai trò như một đặc điểm của cùng một anh hùng. Cô ấy xuất hiện mỗi lần trong một bối cảnh mới, cho thấy một tình huống mới xung quanh người anh hùng. Bản thân chủ đề này có thể thay đổi, nhưng những thay đổi trong nó không làm thay đổi ý nghĩa “khách quan” của nó và chỉ phản ánh những thay đổi về trạng thái của cùng một anh hùng, những thay đổi trong quan niệm về anh ta. Kỹ thuật mô tả đặc điểm leitmotif thích hợp nhất trong điều kiện có tính chu kỳ, phù hợp và hóa ra là một phương tiện mạnh mẽ để kết hợp các phần tương phản của chu trình, tiết lộ một cốt truyện duy nhất. Nó tạo điều kiện thuận lợi cho việc thể hiện các ý tưởng cốt truyện tuần tự trong âm nhạc và sự kết hợp dưới dạng một phần các đặc điểm của sonata allegro và sonata-giao hưởng. chu kỳ, đặc trưng của thể loại giao hưởng do F. Liszt sáng tạo. những bài thơ. Khác biệt. Các giai đoạn hành động được truyền tải bằng các bước tương đối độc lập. các tập, độ tương phản giữa chúng tương ứng với độ tương phản của các phần của bản giao hưởng sonata. theo chu kỳ, sau đó các tập này được “đưa đến sự thống nhất” trong một bản phát lại cô đọng, và theo chương trình, phần này hay phần khác trong số chúng được làm nổi bật. Theo quan điểm của chu kỳ, phần phát lại thường tương ứng với phần cuối; theo quan điểm của bản sonata allegro, tập 1 và 2 tương ứng với phần trình bày, tập 3 (“scherzo” trong chu kỳ) tương ứng với phần phát triển. . Liszt sử dụng vật liệu tổng hợp tương tự. các hình thức thường được kết hợp với việc sử dụng nguyên tắc đơn điệu. Tất cả những kỹ thuật này cho phép các nhà soạn nhạc tạo ra âm nhạc. các hình thức tương ứng với các đặc điểm riêng của cốt truyện, đồng thời có tính hữu cơ và tổng thể. Tuy nhiên, chất tổng hợp mới các hình thức không thể được coi là chỉ thuộc về chương trình âm nhạc. Chúng nảy sinh không chỉ liên quan đến việc thực hiện kế hoạch chương trình - sự xuất hiện của chúng còn bị ảnh hưởng bởi xu hướng chung của thời đại. Chính xác những cấu trúc tương tự đã được sử dụng liên tục trong âm nhạc không có chương trình.

Có chương trình ca nhạc. op., trong đó sản phẩm được sử dụng như một chương trình. hội họa, điêu khắc, thậm chí cả kiến ​​trúc. Ví dụ, đây là một bản giao hưởng. Bài thơ "Trận chiến của người Huns" của Liszt dựa trên bức bích họa của W. Kaulbach và "Từ cái nôi đến ngôi mộ" dựa trên bức vẽ của M. Zichy, vở kịch "Nhà nguyện của William Tell" của ông; "The Betrohal" (theo bức tranh của Raphael), "The Thinker" (theo tên bức tượng Michelangelo) từ fp. chu kỳ “Những năm lang thang”, v.v. Tuy nhiên, khả năng mô tả khái niệm, nội dung trong những tuyên bố này là không đầy đủ. Không phải ngẫu nhiên mà hội họa và điêu khắc. được cung cấp một cái tên cụ thể, có thể coi đó là một loại chương trình của họ. Vì vậy, trong âm nhạc. Các tác phẩm được viết dựa trên những sáng tạo nhất định miêu tả, nghệ thuật, về cơ bản không chỉ hợp nhất âm nhạc và hội họa, âm nhạc và điêu khắc, mà cả âm nhạc, hội họa và ngôn từ, âm nhạc, điêu khắc và ngôn từ. Và các chức năng của chương trình trong đó đều do Ch. Array. không được sản xuất sẽ miêu tả, nghệ thuật-va, nhưng một chương trình bằng lời nói. Điều này được xác định chủ yếu bởi sự đa dạng của âm nhạc như một nghệ thuật tạm thời và hội họa và điêu khắc như một nghệ thuật “không gian” tĩnh tại. Đối với hình ảnh kiến ​​trúc, nhìn chung chúng không có khả năng cụ thể hóa âm nhạc trong bình diện chủ đề-khái niệm; tác giả âm nhạc Các tác phẩm gắn liền với các di tích kiến ​​trúc, như một quy luật, được truyền cảm hứng không phải từ chính chúng mà từ lịch sử, các sự kiện diễn ra trong hoặc gần chúng, những truyền thuyết đã phát triển về chúng (vở kịch "Vyshegrad" từ chu kỳ giao hưởng của B. Smetana “Quê hương tôi”, vở kịch “Nhà nguyện của William Tell” của Liszt nói trên, không phải ngẫu nhiên mà tác giả mở đầu câu “Một vì tất cả, tất cả vì một”).

Lập trình là một thành tựu lớn của các nàng thơ. vụ kiện Nó dẫn đến việc làm phong phú thêm phạm vi hình ảnh hiện thực, được phản ánh trong âm nhạc. sản xuất, tìm kiếm cái mới sẽ thể hiện. phương tiện, hình thức mới, góp phần làm phong phú, đa dạng hóa các hình thức, thể loại. Sự hấp dẫn của nhà soạn nhạc đối với thể loại âm nhạc thường được quyết định bởi mối liên hệ của nó với cuộc sống, với tính hiện đại và sự chú ý đến các vấn đề hiện tại; trong các trường hợp khác, chính nó góp phần giúp nhà soạn nhạc tiếp cận hiện thực và hiểu biết sâu sắc hơn về nó. Tuy nhiên, ở một khía cạnh nào đó PM kém hơn so với âm nhạc không có chương trình. Chương trình thu hẹp nhận thức về âm nhạc, đánh lạc hướng sự chú ý khỏi ý tưởng chung được thể hiện trong đó. Việc thể hiện ý tưởng cốt truyện thường gắn liền với âm nhạc. những đặc điểm ít nhiều mang tính quy ước. Do đó, thái độ trái chiều của nhiều nhà soạn nhạc vĩ đại đối với việc lập trình, điều này vừa thu hút vừa đẩy lùi họ (tuyên bố của P. I. Tchaikovsky, G. Mahler, R. Strauss, v.v.). P. m. không phải là một loại âm nhạc cao hơn, cũng như âm nhạc không có chương trình không phải là một loại. Đây là những giống bình đẳng, hợp pháp như nhau. Sự khác biệt giữa chúng không loại trừ mối liên hệ của chúng; cả hai chi cũng được liên kết với chảo. âm nhạc. Vì vậy, cái nôi của chương trình giao hưởng là opera và oratorio. Bản overture opera là nguyên mẫu của bản giao hưởng chương trình. những bài thơ; trong nghệ thuật opera cũng có những điều kiện tiên quyết cho chủ nghĩa leitmotivism và monothematism, những thứ được sử dụng rộng rãi trong âm nhạc opera. âm nhạc bị ảnh hưởng bởi chảo. âm nhạc và P. m. Những biểu hiện mới được tìm thấy trong P. m. cơ hội cũng đang có sẵn cho âm nhạc không có chương trình. Xu hướng chung của thời đại ảnh hưởng đến sự phát triển của cả âm nhạc âm nhạc và âm nhạc không có chương trình.

Sự thống nhất giữa âm nhạc và chương trình trong chương trình op. không tuyệt đối, không thể hòa tan. Điều xảy ra là chương trình không được truyền tải đến người nghe trong quá trình biểu diễn tác phẩm được thắp sáng. sản phẩm mà tác giả của bản nhạc đề cập đến người nghe, hóa ra lại xa lạ với anh ta. Nhà soạn nhạc càng chọn hình thức khái quát hơn để hiện thực hóa kế hoạch của mình thì việc “tách” âm nhạc của tác phẩm khỏi chương trình của nó sẽ càng ít gây ra thiệt hại cho nhận thức. Sự “tách biệt” như vậy luôn là điều không mong muốn khi nói đến việc biểu diễn âm nhạc hiện đại. làm. Tuy nhiên, nó cũng có thể trở nên tự nhiên khi thực hiện sản xuất. của thời đại trước đó, vì các ý tưởng chương trình theo thời gian có thể mất đi sự phù hợp và ý nghĩa trước đây. Trong những trường hợp này, âm nhạc. sản phẩm. ở mức độ lớn hơn hoặc ít hơn, chúng mất đi các tính năng có lập trình và trở nên không có lập trình. Vì vậy, ranh giới giữa P. m. và âm nhạc không có chương trình nhìn chung khá rõ ràng về mặt lịch sử. khía cạnh có điều kiện.

P. m. đã phát triển về cơ bản trong suốt lịch sử của giáo sư. âm nhạc vụ kiện Báo cáo sớm nhất về phần mềm âm nhạc được các nhà nghiên cứu tìm thấy op. có từ năm 586 trước Công nguyên - năm nay tại trò chơi Pythian ở Delphi (Hy Lạp cổ đại), nhà auletist Sakao đã trình diễn một vở kịch của Timosthenes, mô tả trận chiến của Apollo với con rồng. Nhiều chương trình opus. được tạo ra ở những lần tiếp theo. Trong số đó có những bản sonata bàn phím “Những câu chuyện Kinh thánh” của nhà soạn nhạc Leipzig J. Kuhnau, những bản thu nhỏ đàn harpsichord của F. Couperin và J. F. Rameau, và bàn phím “Capriccio trên sự ra đi của một người anh yêu dấu” của J. S. Bach. Lập trình cũng được trình bày trong các tác phẩm kinh điển của Vienna. Trong số các tác phẩm của họ: bộ ba bản giao hưởng chương trình của J. Haydn, mô tả nhiều đặc điểm khác nhau. thời gian trong ngày (số 6, “Buổi sáng”; số 7, “Buổi trưa”; số 8, “Buổi tối”), “Bản giao hưởng chia tay” của anh ấy; "Bản giao hưởng mục vụ" (số 6) của Beethoven, tất cả các phần đều có phụ đề theo chương trình và bản nhạc có ghi chú quan trọng để hiểu loại tác phẩm có lập trình của tác giả op. - “Sự thể hiện cảm xúc hơn là hình ảnh”, vở kịch “Trận chiến Vittoria” của ông, ban đầu dành cho máy móc. âm nhạc nhạc cụ của panharmonicon, nhưng sau đó được biểu diễn trong dàn nhạc. các ấn bản, và đặc biệt là phần mở đầu của ông cho vở ba-lê "Tác phẩm của Prometheus", vở bi kịch "Coriolanus" của Collin, phần mở đầu "Leonora" số 1-3, phần mở đầu cho vở bi kịch "Egmont" của Goethe. Được viết như lời giới thiệu về phim truyền hình. hoặc ca nhạc-kịch. được sản xuất, họ sớm giành được độc lập. Chương trình sau này op. cũng thường được tạo dưới dạng giới thiệu về k.-l. thắp sáng. Tuy nhiên, sản xuất bị mất dần theo thời gian sẽ tham gia. chức năng. Sự nở hoa thực sự của P. m. chủ nghĩa lãng mạn. So với các đại diện của chủ nghĩa cổ điển và thậm chí cả mỹ học khai sáng, các nghệ sĩ lãng mạn có sự hiểu biết sâu sắc hơn về các đặc điểm khác nhau. khẳng định Họ thấy rằng mỗi người trong số họ phản ánh cuộc sống theo cách riêng của mình, sử dụng các phương tiện duy nhất cho nó và phản ánh cùng một đối tượng, hiện tượng từ một khía cạnh nhất định mà nó có thể tiếp cận được, do đó, mỗi người trong số họ bị giới hạn theo một cách nào đó và đưa ra một bức tranh không đầy đủ của thực tế. Đây là điều đã khiến các nghệ sĩ lãng mạn nảy ra ý tưởng tổng hợp nghệ thuật nhằm phản ánh thế giới một cách đầy đủ, đa diện hơn. Âm nhạc Những người theo chủ nghĩa lãng mạn tuyên bố khẩu hiệu đổi mới âm nhạc thông qua mối liên hệ của nó với thơ ca, được dịch sang số nhiều. âm nhạc sản phẩm. Chương trình Op. chiếm một vị trí quan trọng trong tác phẩm của F. Mendelssohn-Bartholdy (đoạn dạo đầu từ nhạc cho Giấc mộng đêm hè của Shakespeare, khúc dạo đầu của The Hebrides hay Hang Fingal, Sự im lặng của biển cả và chuyến hành trình hạnh phúc , "Beautiful Melusine", "Ruy Blas", v.v. ), R. Schumann (đoạn mở màn "Manfred" của Byron, các cảnh trong "Faust" của Goethe, nhiều vở kịch và tập kịch, v.v.). P. m. có tầm quan trọng đặc biệt lớn trong G. Berlioz ("Bản giao hưởng tuyệt vời", bản giao hưởng "Harold ở Ý", bản giao hưởng kịch "Romeo và Juliet", "Bản giao hưởng tang lễ và khải hoàn", overture "Weaverly", "Secret Judges" , “King Lear”, “Rob Roy”, v.v.) và F. Liszt (bản giao hưởng “Faust” và bản giao hưởng cho “Divine Comedy” của Dante, 13 bài thơ giao hưởng, nhiều ph. vở kịch và chu kỳ vở kịch). Sau đó, những đóng góp quan trọng cho sự phát triển của P. m. đã được thực hiện bởi B. Smetana (thơ giao hưởng “Richard III”, “Trại Wallenstein”, “Hakon Jarl”, tập “Quê hương tôi” gồm 6 bài thơ), A. Dvorak (thơ giao hưởng. thơ "Người nước", "Bánh xe quay vàng", "Chim bồ câu rừng" và những bài khác, overture - Hussite, "Othello", v.v.) và R. Strauss (thơ giao hưởng "Don Juan", "Cái chết và sự giác ngộ" ", "Macbeth" ", "Till Eulenspiegel", "Zarathustra đã nói như vậy", những biến thể tuyệt vời về chủ đề hiệp sĩ "Don Quixote", "Bản giao hưởng tại nhà", v.v.). Chương trình Op. cũng được sáng tác bởi K. Debussy (orc. khúc dạo đầu "Buổi chiều của một Faun", các chu kỳ giao hưởng "Nocturnes", "Sea", v.v.), M. Reger (4 bài thơ giao hưởng sau Böcklin), A. Honegger (thơ giao hưởng " Bài hát của Nigamon", các bản giao hưởng của phong trào "Thái Bình Dương 231", "Bóng bầu dục", v.v.), P. Hindemith (các bản giao hưởng "The Artist Mathis", "Harmony of the World", v.v.).

Phần mềm đã nhận được sự phát triển phong phú bằng tiếng Nga. âm nhạc. dành cho người Nga quốc gia âm nhạc trường học, việc chuyển sang lập trình được quyết định bởi tính thẩm mỹ. thái độ của những người đại diện hàng đầu, mong muốn dân chủ của họ, tính dễ hiểu chung trong công việc của họ, cũng như tính chất “khách quan” trong công việc của họ. Từ các tác phẩm, chính. về chủ đề bài hát và do đó chứa đựng các yếu tố tổng hợp âm nhạc và lời nói, vì người nghe, khi cảm nhận chúng, sẽ liên hệ các văn bản tương ứng với âm nhạc. các bài hát ("Kamarinskaya" của Glinka), tiếng Nga. các nhà soạn nhạc đã sớm đến với thực tế P. m. Một số chương trình nổi bật. được tạo ra bởi các thành viên của "Mighty Handful" - M. A. Balakirev (bài thơ giao hưởng "Tamara"), M. P. Mussorgsky ("Những bức tranh tại một cuộc triển lãm" cho fp.), N. A. Rimsky-Korskov (bức tranh giao hưởng "Sadko" ", bản giao hưởng "Antar" ). Một số lượng đáng kể các sản phẩm phần mềm. thuộc về P. I. Tchaikovsky (bản giao hưởng số 1 “Những giấc mơ mùa đông”, bản giao hưởng “Manfred”, bản overture giả tưởng “Romeo và Juliet”, bài thơ giao hưởng “Francesca da Rimini”, v.v.). Sản phẩm phần mềm sáng sủa. cũng được viết bởi A.K. Glazunov (thơ giao hưởng "Stenka Razin"), A.K. Lyadov (tranh giao hưởng "Baba Yaga", "Hồ ma thuật" và "Kikimora"), Vas. S. Kalinnikov (tranh giao hưởng "Cedar và Palm Tree"), S. V. Rachmaninov (bản giao hưởng giả tưởng "Vách đá", bài thơ giao hưởng "Đảo của người chết"), A. N. Scriabin (bản giao hưởng "Bài thơ ngây ngất", " Bài thơ về lửa" (" Prometheus"), FP số nhiều. lượt chơi).

Lập trình cũng được thể hiện rộng rãi trong các tác phẩm của loài cú. nhà soạn nhạc, bao gồm S. S. Prokofiev ("Scythian Suite" cho dàn nhạc, bản phác thảo giao hưởng "Mùa thu", bức tranh giao hưởng "Những giấc mơ", ph. vở kịch), N. Ya. (thơ giao hưởng "Im lặng" và "Alastor", các bản giao hưởng số 10, 12, 16, v.v.), D. D. Shostakovich (các bản giao hưởng số 2, 3 (“Ngày tháng Năm”), 11 (“1905”), 12 (“1917”), v.v.). Chương trình Op. cũng được tạo ra bởi đại diện của các thế hệ cú trẻ hơn. nhà soạn nhạc.

Lập trình là đặc điểm không chỉ của chuyên gia mà còn của con người. âm nhạc vụ kiện Giữa các dân tộc, nàng thơ. nền văn hóa trong đó bao gồm instr phát triển. sáng tác âm nhạc, nó không chỉ gắn liền với việc trình diễn và biến thể của giai điệu bài hát mà còn với việc tạo ra các tác phẩm độc lập với nghệ thuật bài hát, b.ch. phần mềm Vì vậy, chương trình op. tạo thành một bộ phận quan trọng của người Kazakhstan. (kyui) và kirg. (kyu) hướng dẫn. vở kịch. Mỗi tác phẩm này, được biểu diễn bởi một nghệ sĩ độc tấu nhạc cụ (dành cho người Kazakhstan - kuishi) trên một trong những chiếc giường tầng. nhạc cụ (dombra, kobyz hoặc sybyzga của người Kazakhstan, komuz, v.v. của người Kyrgyz), có tiêu đề chương trình; làm ơn. trong số những vở kịch này đã trở thành truyền thống, giống như những bài hát được truyền lại cho người khác. biến đổi từ thế hệ này sang thế hệ khác.

Một đóng góp quan trọng trong việc làm sáng tỏ hiện tượng lập trình đã được thực hiện bởi chính các nhà soạn nhạc làm việc trong lĩnh vực này - F. Liszt, G. Berlioz và những người khác Sau đó, mặc dù nghiên cứu đã làm rõ một số vấn đề cụ thể, nhưng vẫn là rác rưởi. Âm nhạc học không những không tiến bộ trong việc tìm hiểu hiện tượng nhạc cụ mà còn rời xa nó. Chẳng hạn, điều quan trọng là các tác giả của các bài báo về P. m. đã xuất bản ở các nước Tây Âu lớn nhất. âm nhạc bách khoa toàn thư và có nhiệm vụ khái quát hóa kinh nghiệm nghiên cứu vấn đề, đưa ra những định nghĩa rất mơ hồ về hiện tượng lập trình (xem Từ điển âm nhạc và nhạc sĩ Groves, v. 6, L.-N.Y., 1954; Riemann Musiklexikon, Sachteil, Mainz, 1967), đôi khi họ hoàn toàn từ chối k.-l. định nghĩa (Die Musik in Geschichte und Gegenwart. Allgemeine Enzyklopädie der Musik, Bd 10, Kassel u.a., 1962).

Ở Nga, việc nghiên cứu vấn đề phần mềm bắt đầu trong thời kỳ Nga hoạt động. cổ điển âm nhạc trường học, đại diện của bầy đàn đã để lại những phát biểu quan trọng về vấn đề này. Sự chú ý đến vấn đề phần mềm đặc biệt tăng lên ở Liên Xô. thời gian. Vào những năm 1950 trên các trang tạp chí. "Âm nhạc Liên Xô" và khí đốt. "Nghệ thuật Xô Viết" là một sự kiện đặc biệt. thảo luận về vấn đề âm nhạc. phần mềm. Cuộc thảo luận này cũng cho thấy sự khác biệt trong cách hiểu về hiện tượng P. m. Suy nghĩ được thể hiện, chẳng hạn như về “lập trình theo nghĩa chặt chẽ của từ” và theo nghĩa rộng của thuật ngữ, về “đã khai báo” và “không khai báo”. ” lập trình, về lập trình “cho chính mình” (nhà soạn nhạc) và cho người nghe, về tính lập trình “có ý thức” và “vô thức”, về tính lập trình trong âm nhạc không được lập trình, v.v. Bản chất của tất cả những tuyên bố này bắt nguồn từ việc thừa nhận khả năng của P. âm nhạc không có chương trình, được đưa ra op. do chính nhà soạn nhạc thực hiện. Quan điểm như vậy chắc chắn sẽ dẫn đến việc đồng nhất tính có tính lập trình với nội dung, dẫn đến tuyên bố rằng tất cả âm nhạc đều có tính lập trình, dẫn đến sự biện minh cho việc “đoán” các chương trình không báo trước, tức là. cách giải thích tùy tiện ý định của nhà soạn nhạc, điều mà bản thân các nhà soạn nhạc luôn phản đối gay gắt. Vào những năm 50-60. Đã xuất hiện nhiều công trình có đóng góp nhất định vào việc phát triển các vấn đề về lập trình, đặc biệt là trong lĩnh vực phân biệt các loại lập trình. Tuy nhiên, vẫn chưa có sự hiểu biết thống nhất về hiện tượng lập trình.

Văn học: Tchaikovsky P. I., Thư gửi H. P. von Meck đề ngày 17 tháng 2/1 tháng 3 năm 1878 và 17 tháng 12 năm 1878, trong cuốn: Tchaikovsky P. I., Thư từ với N. F. von Meck, tập 1, M.-L., 1934, the giống nhau, Hoàn thành. bộ sưu tập trích dẫn, tập VII, M., 1961 tr. 124-128, 513-514; của ông, Về âm nhạc chương trình, M.-L., 1952; Cui T. A., Lãng mạn Nga. Tiểu luận về sự phát triển của nó, St. Petersburg, 1896, tr. 5; Laroche, Đôi điều về âm nhạc chương trình, "Thế giới nghệ thuật", 1900, tập 3, tr. 87-98; của anh ấy, Lời nói đầu của người dịch cho cuốn sách “Về vẻ đẹp về mặt âm nhạc” của Hanslick. nhà phê bình âm nhạc bài viết, tập 1, M., 1913, tr. 334-61; anh ta, Một trong những đối thủ của Hanslick, ở cùng một nơi, tr. 362-85; Stasov V.V., Nghệ thuật thế kỷ 19, trong cuốn sách: Thế kỷ XIX, St. Petersburg, 1901, cũng vậy, trong cuốn sách của ông: Izbr. soch., tập 3, M., 1952; Yastrebtsev V.V., Ký ức của tôi về N.A. Rimsky-Korskov, tập. 1, P., 1917, L., 1959, tr. 95; Shostakovich D., Về tính lập trình chân thực và tưởng tượng, "SM", 1951, số 5; Bobrovsky V.P., Hình thức Sonata trong chương trình âm nhạc cổ điển Nga, M., 1953 (tóm tắt luận văn); Sabinina M., Âm nhạc chương trình là gì?, "MZh", 1959, số 7; Aranovsky M., Âm nhạc chương trình là gì?, M., 1962; Tyulin Yu. N., Về tính lập trình trong các tác phẩm của Chopin, L., 1963, M., 1968; Khokhlov Yu., Về lập trình âm nhạc, M., 1963; Auerbach L., Xem xét các vấn đề phần mềm, "SM", 1965, Số 11. Xem thêm lit. theo các bài viết Thẩm mỹ âm nhạc, Âm nhạc, Viết âm thanh, Chủ nghĩa đơn điệu, Thơ giao hưởng.

Chương trình âm nhạc

một loại nhạc cụ; tác phẩm âm nhạc có chương trình ngôn từ, thường mang tính chất thơ và bộc lộ nội dung in sâu trong đó. Ví dụ: chương trình có thể là tiêu đề chỉ ra hiện tượng thực tế mà nhà soạn nhạc đã nghĩ đến (“Buổi sáng” của Grieg từ bản nhạc đến vở kịch “Peer Gynt” của Ibsen) hoặc tác phẩm văn học đã truyền cảm hứng cho ông (“Macbeth” của R. Strauss - một bài thơ giao hưởng dựa trên vở kịch của Shakespeare). Hơn chương trình chi tiết thường được biên soạn từ các tác phẩm văn học (tổ khúc giao hưởng “Antar” của Rimsky-Korskov dựa trên câu chuyện cổ tích cùng tên của Senkovsky), ít thường xuyên hơn - không có mối liên hệ nào với nguyên mẫu văn học (“Symphony Fantastique” của Berlioz). Chương trình tiết lộ điều gì đó mà thể hiện âm nhạc không thể tiếp cận được và do đó bản thân âm nhạc không tiết lộ; ở điểm này, về cơ bản nó khác với bất kỳ phân tích hoặc mô tả nào về âm nhạc; Chỉ có tác giả của nó mới có thể đưa nó vào một bản nhạc. Hình dung âm nhạc, ghi âm và đặc tả thông qua thể loại được sử dụng rộng rãi trong sáng tác âm nhạc.

Loại hình biểu diễn âm nhạc đơn giản nhất là lập trình bằng hình ảnh (bức tranh âm nhạc về thiên nhiên, lễ hội dân gian, trận chiến, v.v.). Trong các tác phẩm dựa trên cốt truyện, sự phát triển của hình ảnh âm nhạc ở mức độ này hay mức độ khác tương ứng với các đường nét của cốt truyện, như một quy luật, mượn từ tiểu thuyết. Đôi khi chúng chỉ cung cấp mô tả âm nhạc về các hình ảnh chính, hướng phát triển chung của cốt truyện, mối quan hệ ban đầu và cuối cùng của các lực tác động (lập trình cốt truyện tổng quát), đôi khi toàn bộ chuỗi sự kiện được hiển thị (lập trình cốt truyện tuần tự).

Âm nhạc sử dụng các phương pháp phát triển cho phép nó “đi theo” cốt truyện mà không vi phạm các quy luật âm nhạc thực tế. Trong số đó: sự biến đổi và nguyên tắc liên quan của Chủ nghĩa Đơn thần và , do F. Liszt đưa ra; nguyên tắc đặc điểm leitmotif (xem Leitmotif), mà G. Berlioz là một trong những người đầu tiên áp dụng; sự kết hợp dưới dạng một phần các đặc điểm của sonata allegro và chu kỳ sonata-giao hưởng, đặc trưng của thể loại thơ giao hưởng do F. Liszt sáng tác.

Lập trình là một thành tựu to lớn của nghệ thuật âm nhạc, kích thích việc tìm kiếm các phương tiện biểu đạt mới, góp phần làm phong phú thêm hình ảnh của các tác phẩm âm nhạc. P. m. có quyền bình đẳng với âm nhạc không có chương trình và phát triển trong sự tương tác chặt chẽ với nó.

P. m. đã được biết đến từ thời cổ đại (Hy Lạp cổ đại). Trong số các tác phẩm có lập trình của thế kỷ 18. - tiểu cảnh đàn harpsichord của F. Couperin và J. F. Rameau, “Capriccio trên sự ra đi của người anh yêu dấu” của J. S. Bach. Một số tác phẩm có lập trình đã được tạo ra bởi L. Beethoven - “Bản giao hưởng mục vụ”, overture “Egmont”, “Coriolanus”, v.v. Sự nở rộ của âm nhạc vào thế kỷ 19. phần lớn gắn liền với phong trào lãng mạn trong nghệ thuật âm nhạc (xem Chủ nghĩa lãng mạn), người đã tuyên bố khẩu hiệu cập nhật âm nhạc thông qua sự thống nhất của nó với thơ ca. Trong số các tác phẩm chương trình của các nhà soạn nhạc lãng mạn có Bản giao hưởng Fantastique và Harold ở Ý của Berlioz, các bản giao hưởng Faust, To Dante's Divine Comedy, các bài thơ giao hưởng Tasso, Preludes, v.v. của Liszt. Các nhà soạn nhạc cổ điển Nga cũng có những đóng góp to lớn cho âm nhạc cổ điển. Bức tranh giao hưởng “Đêm giữa mùa hè trên núi Hói” và tập piano “Những bức tranh tại một cuộc triển lãm” của Mussorgsky, tổ khúc giao hưởng “Antar” của Rimsky-Korskov, bản giao hưởng “Manfred”, overture-fantasy “Romeo và Juliet”, tác phẩm giả tưởng dành cho dàn nhạc “Francesca” rất nổi tiếng da Rimini" của Tchaikovsky và những người khác. Các tác phẩm chương trình cũng được viết bởi A. K. Glazunov, A. K. Lyadov, A. I. Scriabin, S. V. Rachmaninov, và những người khác. Truyền thống dân tộc trong lĩnh vực âm nhạc cổ điển được tiếp tục và được phát triển trong các tác phẩm của các nhà soạn nhạc Liên Xô - N. Ya. Myaskovsky, D. D. Shostakovich và những người khác.

Lít.: Tchaikovsky P.I., Về âm nhạc chương trình, Izbr. trích đoạn thư và bài báo, M., 1952; Stasov V.V., Nghệ thuật thế kỷ 19, Fif. soch., tập 3, M., 1952; Liszt F., Izbr. bài báo, M., 1959, tr. 271-349; Khokhlov Yu., Về lập trình âm nhạc, M., 1963; KIauwell O., Geschichte der Programmusik, Lpz., 1910; Sychra A., Die Einheit von tuyệt đối Musik und Programmusik, “Beiträge zur Misik-wissenschaft”, 1, 1959; Niecks Fr., Chương trình âm nhạc trong bốn thế kỷ qua, N.Y., 1969.

Yu. N. Khokhlov.


Bách khoa toàn thư vĩ đại của Liên Xô. - M.: Bách khoa toàn thư Liên Xô. 1969-1978 .

Xem “Âm nhạc chương trình” là gì trong các từ điển khác:

    Âm nhạc hàn lâm không bao gồm văn bản bằng lời nói (nghĩa là thuần túy là nhạc cụ), nhưng có kèm theo chỉ dẫn bằng lời về nội dung của nó. Chương trình tối thiểu là tiêu đề của bài luận, chỉ ra một hiện tượng nào đó... ... Wikipedia

    Âm nhạc “mô tả” hoặc “tượng hình” mới nhất (Wagner và những người theo ông), cố gắng truyền tải chuyển động, các hành động khác nhau, v.v. bằng âm thanh, cần một chương trình sao cho người nghe hoàn toàn dễ hiểu; do đó phần mềm... ... Từ điển từ nước ngoài của tiếng Nga

    Tác phẩm âm nhạc mà người soạn nhạc đã cung cấp một chương trình bằng lời nói cụ thể hóa nhận thức. Nhiều bài văn lập trình gắn liền với cốt truyện, hình ảnh các tác phẩm văn học xuất sắc... Từ điển bách khoa lớn

    - (Programmusik tiếng Đức, nhạc chương trình tiếng Pháp, nhạc chương trình tiếng Ý, nhạc chương trình tiếng Anh). những tác phẩm có ngôn từ nhất định, thường có chất thơ. chương trình và tiết lộ nội dung in sâu trong đó. Hiện tượng âm nhạc.... Bách khoa toàn thư âm nhạc

    Tác phẩm âm nhạc mà người soạn nhạc đã cung cấp chương trình bằng lời nói xác định nội dung. Nhiều bài văn lập trình gắn liền với cốt truyện, hình ảnh các tác phẩm văn học xuất sắc. * * * CHƯƠNG TRÌNH ÂM NHẠC CHƯƠNG TRÌNH ÂM NHẠC,… … từ điển bách khoa

    Bạn nghĩ bản concerto cho piano của Tchaikovsky khác với bản giao hưởng tưởng tượng “Francesca da Rimini” của ông như thế nào? Tất nhiên, bạn sẽ nói rằng trong buổi hòa nhạc, piano là nghệ sĩ độc tấu, nhưng trong tưởng tượng thì điều đó hoàn toàn không có. Có lẽ bạn đã biết rằng buổi hòa nhạc... ... Từ điển âm nhạc

    CHƯƠNG TRÌNH ÂM NHẠC- (từ tiếng Đức Programmusik), âm nhạc có nhiệm vụ mô tả trạng thái nội tâm hoặc thế giới bên ngoài, ít nhiều được xác định chính xác trong văn bản (chương trình) đính kèm với bố cục. Dưới ảnh hưởng của cái sau, người nghe, khi nghe tin nhắn, không... ... Từ điển âm nhạc của Riemann

    chương trình âm nhạc- nhạc không lời và nhạc hòa tấu gắn liền với việc thể hiện những ý tưởng vay mượn từ lĩnh vực ngoài âm nhạc (văn học, hội họa, hiện tượng tự nhiên, v.v.). Cái tên này xuất phát từ chương trình - một đoạn văn bản mà các nhà soạn nhạc thường đi kèm... ... Chỉ số Nga k Từ điển Anh-Nga trong thuật ngữ âm nhạc

    Chương trình âm nhạc- loại nhạc cụ sản phẩm. với chương trình được công bố (ở dạng tiêu đề hoặc ở dạng lời nói chi tiết hơn) làm nguồn âm nhạc. nghệ thuật kịch. Chương trình không bao gồm các phần thể loại (ví von, polka) hoặc văn bản chảo. âm nhạc. Mặc dù các ví dụ về phần mềm... ... Từ điển bách khoa nhân đạo Nga

    I Âm nhạc (từ tiếng Hy Lạp musike, nghĩa đen là nghệ thuật của nàng thơ) là một loại hình nghệ thuật phản ánh hiện thực và ảnh hưởng đến một người thông qua các chuỗi âm thanh có ý nghĩa và được tổ chức đặc biệt, bao gồm chủ yếu là các âm sắc... ... Bách khoa toàn thư vĩ đại của Liên Xô

Sách

  • Phác thảo về âm nhạc nước ngoài, Valentina Konen. Bộ sưu tập chủ yếu dành cho giáo viên. Tuy nhiên, nó cũng có thể được sinh viên sử dụng cho các cuộc hội thảo hoặc báo cáo trong giới khoa học. Một số bài viết được thiết kế...
  • Phát triển phần mềm các lĩnh vực giáo dục “Nhận thức”, “Giao tiếp”, v.v. trong nhóm trẻ, Natalia Aleksandrovna Karpukhina. Phát triển phần mềm các lĩnh vực giáo dục “Nhận thức”, “Giao tiếp”, “Đọc tiểu thuyết”, “Xã hội hóa”, “Giáo dục thể chất”, “Âm nhạc” ở nhóm trẻ (1, 5-2 tuổi)…

“Scheherazade” của N.A. Rimsky-Korskov, trước mắt chúng ta hiện lên hình ảnh của vị vua độc ác Shahriyar, người kể chuyện khéo léo Scheherazade, một bức tranh hùng vĩ về biển cả và con tàu của Thủy thủ Sinbad đang tiến về phía xa. Truyện cổ tích Ả Rập “Nghìn lẻ một đêm” đã trở thành chương trình cho tác phẩm tuyệt vời này. Rimsky-Korskov đã phác thảo ngắn gọn nó trong lời tựa văn học. Nhưng tiêu đề của tổ khúc đã hướng sự chú ý của người nghe đến nhận thức về một nội dung nhất định.

G. Berlioz.

Các tác phẩm có lập trình (từ “chương trình” tiếng Hy Lạp - “thông báo”, “đặt hàng”) bao gồm các tác phẩm âm nhạc có tiêu đề cụ thể hoặc lời tựa văn học do chính nhà soạn nhạc tạo ra hoặc lựa chọn. Nhờ nội dung cụ thể, âm nhạc chương trình dễ tiếp cận và dễ hiểu hơn đối với người nghe. Phương tiện biểu đạt của cô đặc biệt táo bạo và tươi sáng. Trong các tác phẩm chương trình, người soạn nhạc sử dụng rộng rãi thiết kế âm thanh dàn nhạc, hình ảnh hóa và nhấn mạnh hơn nữa sự tương phản giữa các chủ đề hình ảnh, các phần hình thức, v.v.

Kho hình ảnh, chủ đề âm nhạc chương trình rất phong phú và đa dạng. Đây cũng là một bức tranh về thiên nhiên - màu sắc tinh tế của “Bình minh trên sông Mátxcơva” trong phần mở đầu cho vở opera “Khovanshchina” của M. P. Mussorgsky; Hẻm núi Daryal ảm đạm, Terek và lâu đài của Nữ hoàng Tamara trong bài thơ giao hưởng “Tamara” của M. A. Balakirev; phong cảnh thơ mộng trong các tác phẩm “Biển”, “Ánh trăng” của C. Debussy. Những bức tranh phong phú, đầy màu sắc về các ngày lễ dân gian được tái hiện trong các tác phẩm giao hưởng của M. I. Glinka “Kamarinskaya” và “Aragonese Jota”.

Nhiều tác phẩm thuộc thể loại này gắn liền với những tác phẩm tuyệt vời của văn học thế giới. Bằng cách hướng tới họ, các nhà soạn nhạc cố gắng bộc lộ những vấn đề đạo đức mà các nhà thơ và nhà văn đã suy ngẫm. P. I. Tchaikovsky (phim giả tưởng “Francesca da Rimini”) và F. Liszt (“Bản giao hưởng cho vở hài kịch thần thánh của Dante”) chuyển sang “Phim hài thần thánh” của Dante. Bi kịch của W. Shakespeare “Romeo và Juliet” được lấy cảm hứng từ bản giao hưởng của G. cùng tên, khúc dạo đầu giả tưởng của Berlioz và Tchaikovsky, vở bi kịch "Hamlet" - bản giao hưởng của Liszt Một trong những khúc dạo đầu hay nhất của R. Schumann được viết cho bài thơ đầy kịch tính "Manfred" của J. G. Byron, nỗi đau của cuộc đấu tranh và chiến thắng, cuộc chiến. sự bất tử của chiến công của người anh hùng, người đã hy sinh mạng sống vì tự do của quê hương mình được L. Beethoven thể hiện trong phần mở đầu vở kịch “Egmont” của J. W. Goethe.

Tác phẩm chương trình bao gồm các tác phẩm thường được gọi là chân dung âm nhạc. Đây là khúc dạo đầu piano "Cô gái có mái tóc lanh" của Debussy, bản nhạc cho đàn harpsichord "Người Ai Cập" của J. F. Rameau, các tiểu họa piano "Paganini" và "Chopin" của Schumann.

Đôi khi một chương trình sáng tác âm nhạc được lấy cảm hứng từ tác phẩm nghệ thuật tạo hình. Tổ khúc piano “Những bức tranh tại một cuộc triển lãm” của Mussorgsky phản ánh ấn tượng của nhà soạn nhạc về cuộc triển lãm tranh của họa sĩ V. A. Hartmann.

Những tác phẩm âm nhạc chương trình quy mô lớn, hoành tráng gắn liền với ý nghĩa quan trọng nhất những sự kiện mang tính lịch sử. Chẳng hạn, đó là những bản giao hưởng của D. D. Shostakovich “1905”, “1917”, dành riêng cho Cách mạng Nga lần thứ nhất 1905-1907. và Cách mạng Tháng Mười.

Chương trình âm nhạc từ lâu đã thu hút nhiều nhạc sĩ. Các nhà soạn nhạc người Pháp nửa sau thế kỷ 17 - đầu thế kỷ 18 đã viết những tác phẩm tao nhã theo phong cách Rococo cho đàn harpsichord. L. K. Daken (“The Cuckoo”), F. Couperin (“Những người hái nho”), Rameau (“Công chúa”). Nhà soạn nhạc người Ý A. Vivaldi đã kết hợp bốn bản hòa tấu cho violin dưới tựa đề chung là “The Seasons”. Họ đã tạo ra những bản phác thảo âm nhạc tinh tế về thiên nhiên và khung cảnh đồng quê. Nhà soạn nhạc đã phác thảo nội dung của mỗi buổi hòa nhạc trong một chương trình văn học sâu rộng. J. S. Bach đã gọi đùa một trong những tác phẩm dành cho clavier là “Capriccio nhân sự ra đi của người anh yêu dấu”. Di sản sáng tạo của J. Haydn bao gồm hơn 100 bản giao hưởng. Trong số đó còn có các chương trình: “Buổi sáng”, “Buổi trưa”, “Buổi tối và cơn bão”.

Chương trình âm nhạc chiếm một vị trí quan trọng trong tác phẩm của các nhà soạn nhạc lãng mạn. Chân dung, thể loại cảnh, tâm trạng, những sắc thái tinh tế nhất của tình cảm con người đều được bộc lộ một cách tinh tế và đầy cảm hứng trong âm nhạc của Schumann (các chu kỳ piano “Lễ hội hóa trang”, “Cảnh thiếu nhi”, “Kreisleriana”, “Arabesque”). Chu kỳ piano lớn “Những năm lang thang” của Liszt đã trở thành một loại nhật ký âm nhạc. Lấy cảm hứng từ chuyến đi đến Thụy Sĩ, ông đã viết các vở kịch “Nhà nguyện của William Tell”, “Tiếng chuông Geneva” và “Trên hồ Wallendstadt”. Ở Ý, nhà soạn nhạc đã bị quyến rũ bởi nghệ thuật của những bậc thầy vĩ đại thời Phục hưng. Thơ của Petrarch, bức tranh “Người hứa hôn” của Raphael, tác phẩm điêu khắc “Người suy nghĩ” của Michelangelo đã trở thành một loại chương trình trong âm nhạc của Liszt.

Nhà giao hưởng người Pháp G. Berlioz thể hiện nguyên tắc lập trình không phải một cách khái quát mà bộc lộ một cách nhất quán cốt truyện trong âm nhạc. “Bản giao hưởng tuyệt vời” có lời tựa văn học chi tiết do chính nhà soạn nhạc viết. Người hùng của bản giao hưởng kết thúc tại một vũ hội, rồi trên một cánh đồng, rồi đi hành quyết, rồi thấy mình đang ở một ngày Sa-bát tuyệt vời của phù thủy. Với sự trợ giúp của lối viết dàn nhạc đầy màu sắc, Berlioz đã đạt được những hình ảnh gần như trực quan về hành động sân khấu.

Các nhà soạn nhạc Nga thường chuyển sang lập trình âm nhạc. Những cốt truyện cổ tích tuyệt vời đã hình thành nên nền tảng của các bức tranh giao hưởng: “Đêm trên núi Hói” của Mussorgsky, “Sadko” của Rimsky-Korskov, “Baba Yaga”, “Kikimora”, “Hồ ma thuật” của A.K. Sức mạnh sáng tạo của ý chí và lý trí con người đã được A. N. Scriabin hát trong bài thơ giao hưởng “Prometheus” (“Bài thơ về lửa”).

Chương trình âm nhạc diễn ra nơi tuyệt vời trong các tác phẩm của các nhà soạn nhạc Liên Xô. Trong số các bản giao hưởng của N. Ya. Myaskovsky có “Trang trại tập thể” và “Hàng không”. S. S. Prokofiev viết tác phẩm giao hưởng “Scythian Suite”, những bản piano “Fleetness”, “Sarcasms”; R. K. Shchedrin - buổi hòa nhạc cho dàn nhạc “Naughty ditties”, “Rings”; M.K. Koyshibaev - bài thơ cho dàn nhạc cụ dân gian Kazakhstan “Kazakhstan Xô viết”; Z. M. Shahidi - bài thơ giao hưởng “Buzruk”.

Lập trình chung Lập trình chung là viết mã có thể được sử dụng lại với nhiều loại đối tượng khác nhau.

Trong những năm đầu Phiên bản Javađiều này đạt được bằng cách sử dụng tính kế thừa, ArrayList chứa một mảng tham chiếu đến Object. Mỗi khi một giá trị được lấy ra, việc ép kiểu phải được thực hiện.

Lập trình chung là một mô hình lập trình bao gồm mô tả dữ liệu và thuật toán có thể được áp dụng cho nhiều loại khác nhau dữ liệu mà không thay đổi bản thân mô tả. Được hỗ trợ bằng cách này hay cách khác ngôn ngữ khác nhau lập trình.

Generics thể hiện sự thay đổi đáng kể nhất trong ngôn ngữ lập trình Java kể từ phiên bản 1.0. Sự ra đời của generic trong Java 5.0 là kết quả của Yêu cầu đặc tả Java đầu tiên (JSR 14), được xây dựng vào năm 1999. Generic là cần thiết vì chúng cho phép bạn viết mã an toàn hơn, dễ đọc hơn so với mã bị quá tải với các biến Đối tượng và loại phôi. Generics đặc biệt hữu ích cho các lớp sưu tập như ArrayList phổ biến.

Generics tương tự, ít nhất là về bề ngoài, với các mẫu trong C++. Trong C++, cũng như trong Java, các mẫu lần đầu tiên được thêm vào để hỗ trợ các bộ sưu tập được định kiểu mạnh mẽ. Tuy nhiên, qua nhiều năm, những công dụng khác đã được phát hiện.

Khả năng lập trình chung lần đầu tiên xuất hiện vào những năm 1970 trong CLU và Ada, sau đó là trong nhiều ngôn ngữ hướng đối tượng như ngôn ngữ nền tảng C++, Java, D và .NET. Cơ chế chung Các công cụ lập trình tổng quát được triển khai dưới dạng các phương tiện cú pháp nhất định. Một hàm hoặc kiểu dữ liệu có các tham số kiểu hình thức được mô tả rõ ràng. Mô tả này mang tính khái quát và không thể sử dụng trực tiếp ở dạng ban đầu.

Ở những vị trí trong chương trình sử dụng loại hoặc hàm chung, lập trình viên phải chỉ định rõ ràng tham số loại thực tế chỉ định mô tả. Trình biên dịch, gặp lệnh gọi đến một kiểu hoặc hàm chung, thực hiện các quy trình kiểm tra kiểu tĩnh cần thiết, đánh giá khả năng khởi tạo nhất định và nếu đánh giá là dương, sẽ tạo mã, thay thế tham số kiểu thực tế thay cho kiểu chính thức tham số trong mô tả chung.

Đương nhiên, để sử dụng thành công các khai báo chung, các kiểu tham số thực tế phải đáp ứng một số điều kiện nhất định. Nếu một hàm chung so sánh các giá trị của một loại tham số thì bất kỳ loại cụ thể, được sử dụng trong nó, phải hỗ trợ các hoạt động so sánh nếu nó gán giá trị của loại tham số cho các biến - loại cụ thể phải cung cấp phép gán chính xác. Các phương pháp triển khai Có hai cách chính để triển khai hỗ trợ lập trình chung trong trình biên dịch.

Tạo mã mới cho mỗi lần khởi tạo. Trong biến thể này, trình biên dịch coi mô tả chung là mẫu văn bảnđể tạo ra các biến thể của thông số kỹ thuật. Khi trình biên dịch cần một phiên bản mới của một kiểu hoặc thủ tục chung, nó sẽ tạo một thể hiện mới của kiểu hoặc thủ tục đó, thêm một tham số kiểu vào nó hoàn toàn một cách máy móc. Nghĩa là, có một hàm tổng quát để sắp xếp lại các phần tử, trình biên dịch, khi gặp lệnh gọi kiểu số nguyên, sẽ tạo một hàm để sắp xếp lại các số nguyên và chèn lệnh gọi của nó vào mã, sau đó gặp lệnh gọi kiểu chuỗi- sẽ tạo một hàm để sắp xếp lại các chuỗi không liên quan đến chuỗi đầu tiên. Phương pháp này mang lại hiệu quả tối đa. Nhược điểm của nó là khi sử dụng tích cực các kiểu và hàm chung với các kiểu tham số khác nhau, kích thước của chương trình được biên dịch có thể tăng lên rất nhiều, vì ngay cả đối với những đoạn mô tả dành cho các loại khác nhau không khác nhau, trình biên dịch vẫn tạo mã riêng. Nhược điểm này có thể được che khuất bằng cách tạo một phần mã chung (một phần của mô tả tổng quát, không phụ thuộc vào loại tham số, được định dạng theo cách đặc biệt và từ đó trình biên dịch tạo mã chung cho tất cả các thông số kỹ thuật). . Tạo mã mà trong thời gian chạy sẽ chuyển đổi các tham số loại thực tế thành một loại duy nhất mà nó thực sự hoạt động. Trong trường hợp này, ở giai đoạn biên dịch chương trình, trình biên dịch chỉ kiểm tra sự tương ứng của kiểu và đưa vào lệnh chuyển đổi mã của một tham số kiểu cụ thể thành loại chung. Mã xác định hoạt động của một loại hoặc hàm chung có trong một bản sao duy nhất của chương trình đã biên dịch và các chuyển đổi cũng như kiểm tra loại được thực hiện linh hoạt trong khi chương trình đang chạy. Tùy chọn này thường tạo ra mã nhỏ gọn hơn nhưng chương trình trung bình chậm hơn tùy chọn đầu tiên do cần thực hiện các thao tác bổ sung và có ít tùy chọn tối ưu hóa hơn. Ngoài ra, thông tin loại động không phải lúc nào cũng được bao gồm trong mã được biên dịch cho các loại tham số (trong phiên bản đầu tiên, nếu được hỗ trợ, vì các phiên bản cho từng loại tham số là khác nhau), điều này xác định một số hạn chế trong việc sử dụng chung loại và chức năng. Java có những hạn chế tương tự.

Lớp generic là lớp có một hoặc nhiều biến kiểu. Biến kiểu class Pair() được sử dụng để chỉ định kiểu trả về của các phương thức cũng như kiểu trường và biến cục bộ. Sau đó, bạn có thể tạo một đối tượng loại chung bằng cách thay thế tên loại thay cho biến loại. Đôi()

Một số hạn chế đối với generics 1. Tham số kiểu không thể chấp nhận kiểu nguyên thủy. 2. Mảng có các kiểu tham số hóa không được phép. 3. Bạn không thể tạo phiên bản của các loại biến. 4. Không được phép trong bối cảnh tĩnh. Mục đích của lập trình chung Lập trình chung có nghĩa là viết mã có thể được sử dụng lại với nhiều loại đối tượng khác nhau. Điều này làm cho mã của bạn dễ đọc hơn. Bạn có thể hiểu ngay rằng mảng danh sách cụ thể này chứa các đối tượng String. Trình biên dịch cũng có thể sử dụng thành công thông tin này. Không cần truyền khi gọi get(). Trình biên dịch biết rằng kiểu trả về của phương thức này là Chuỗi chứ không phải Đối tượng: String filename = files.get(0); Trình biên dịch cũng biết rằng phương thức add() trên ArrayList có tham số kiểu String. Điều này an toàn hơn nhiều so với việc xử lý tham số loại Đối tượng. Bây giờ trình biên dịch có thể kiểm tra xem bạn không chèn một đối tượng sai loại hay không. Ví dụ: câu lệnh sau sẽ không biên dịch: files.add(new File("...")); // chỉ các đối tượng String mới có thể được thêm vào ArrayList. Lỗi biên dịch tốt hơn nhiều so với lỗi ép kiểu trong thời gian chạy. Đó là vẻ đẹp của các tham số loại: chúng làm cho chương trình của bạn dễ đọc hơn và an toàn hơn. Các lớp chung như ArrayList rất dễ sử dụng. Và hầu hết các lập trình viên Java chỉ đơn giản sử dụng các kiểu như ArrayList - như thể chúng là một phần của ngôn ngữ, như mảng Chuỗi. (Tất nhiên, mảng danh sách tốt hơn mảng đơn giản vì chúng có thể tự động mở rộng.) Tuy nhiên, việc triển khai một lớp chung không dễ dàng như vậy. Các lập trình viên sử dụng mã của bạn sẽ cố gắng thay thế tất cả các loại lớp cho các tham số kiểu của bạn. Họ mong đợi mọi thứ hoạt động mà không có những giới hạn khó chịu hoặc những thông báo lỗi khó hiểu. Công việc của bạn với tư cách là một lập trình viên tổng quát là dự đoán tất cả các khả năng sử dụng lớp của bạn trong tương lai. Mã chung và máy ảo Máy ảo không xử lý các đối tượng thuộc loại chung - tất cả các đối tượng đều thuộc về các lớp thông thường. Bất cứ khi nào một loại chung được xác định, một loại thô tương ứng sẽ tự động được tạo. Tên của loại này giống với tên của loại chung nhưng đã loại bỏ các tham số loại. Các biến kiểu được loại bỏ và thay thế bằng các kiểu ràng buộc (hoặc gõ Object nếu biến không có ràng buộc). Ví dụ: kiểu thô cho Cặp trông như bên dưới. lớp công khai Cặp ( public Pair(Object first, Object thứ hai) ( this.first = first; this.second = thứ hai; ) public Object getFirst() ( return first; ) public Object getSecond() ( return thứ hai; ) public void setFirst (Đối tượng newValue) ( ​​​​first = newValue; ) public void setSecond(Object newValue) ( ​​​​second = newValue; ) Đối tượng riêng tư đầu tiên; Đối tượng riêng tư thứ hai) Vì T không bị ràng buộc; loại biến, nó chỉ được thay thế bằng Object. Kết quả là một lớp thông thường, giống như những lớp bạn có thể đã triển khai trước đây, trước khi các khái niệm tổng quát được đưa vào ngôn ngữ lập trình Java. Chương trình của bạn chứa các biến thể khác nhau Cặp, chẳng hạn như Cặp hoặc Cặp, nhưng việc "dọn dẹp" này biến chúng thành loại Cặp "thô". Loại thô thay thế các biến loại bằng ràng buộc đầu tiên hoặc Đối tượng nếu không có ràng buộc nào được cung cấp. Ví dụ: biến kiểu trong lớp Pair không có hạn chế rõ ràng, do đó kiểu thô thay thế T bằng Object. Giả sử rằng một loại hơi khác được khai báo: public class Interval thực hiện Serializable ( public Interval(T first, T Second) ( if (first.compareTo(second)<= 0) { lower = first; upper = second; } else { lower = second; upper = first; } } ... private T lower; private T upper; } Сырой тип Interval выглядит следующим образом: public class Interval implements Serializable { public Interval(Comparable first, Comparable second) { ... } ... private Comparable lower; private Comparable upper; } Трансляция обобщенных выражений Когда ваша программа вызывает обобщенный метод, компилятор вставляет приведения, когда удаляется возвращаемый тип. Например, рассмотрим следующую последовательность операторов: Pair buddies = ...; Employee buddy = buddies.getFirst(); Подчистка getFirst() приведет к возврату типа Object. Компилятор автоматически вставит приведение к Employee. То есть компилятор транслирует вызов метода в две инструкции виртуальной машины. . Вызов сырого метода Pair.getFirst(). . Приведение возвращенного объекта Object к типу Employee. Приведения также вставляются при обращении к обобщенному полю. Предположим, что поля first и second были бы общедоступными, т.е. public. (Возможно, это нехороший стиль программирования, но вполне допустимый в Java.) Тогда в оператор Employee buddy = buddies.first; в результирующем байт-коде также будут вставлены приведения.

Sau đó, ở dạng đa hình tham số trong và các hậu duệ của nó, sau đó là ở nhiều ngôn ngữ hướng đối tượng như C++, Java, Object Pascal, Eiffel, các ngôn ngữ dành cho nền tảng .NET và các ngôn ngữ khác.

Phương pháp lập trình chung

Lập trình chung được coi là một phương pháp lập trình dựa trên sự tách biệt giữa cấu trúc dữ liệu và thuật toán thông qua việc sử dụng các mô tả trừu tượng về các yêu cầu. Mô tả yêu cầu trừu tượng là phần mở rộng của khái niệm về kiểu dữ liệu trừu tượng. Thay vì mô tả một loại duy nhất, lập trình chung sử dụng mô tả về một họ loại có giao diện và hành vi ngữ nghĩa chung. Một tập hợp các yêu cầu mô tả giao diện và hành vi ngữ nghĩa được gọi là ý tưởng(khái niệm tiếng Anh). Do đó, một thuật toán được viết theo phong cách tổng quát có thể được sử dụng cho bất kỳ loại nào thỏa mãn các khái niệm của chúng. Cơ hội này được gọi là tính đa hình.

Người ta nói rằng loại mô hình niệm (là mô hình của khái niệm) nếu nó thỏa mãn các yêu cầu của nó. Khái niệm này là làm rõ một khái niệm khác nếu nó bổ sung cho khái niệm sau. Yêu cầu khái niệm chứa các thông tin sau:

  • Biểu thức hợp lệ(tiếng anh. biểu thức hợp lệ) - biểu thức ngôn ngữ lập trình phải biên dịch thành công cho các kiểu mô hình hóa khái niệm.
  • Các loại liên kết(Các loại liên quan đến tiếng Anh) - các loại phụ trợ có một số liên quan đến loại mô hình hóa khái niệm.
  • Bất biến(Bất biến tiếng Anh) - những đặc điểm như vậy của các loại phải liên tục đúng trong quá trình thực thi. Thường được thể hiện dưới dạng tiền điều kiện và hậu điều kiện. Việc không thỏa mãn điều kiện tiên quyết sẽ dẫn đến tính không thể đoán trước của thao tác tương ứng và có thể dẫn đến sai sót.
  • Đảm bảo độ phức tạp(eng. đảm bảo độ phức tạp) - thời gian thực hiện tối đa của một biểu thức hợp lệ hoặc các yêu cầu tối đa đối với các tài nguyên khác nhau trong quá trình thực hiện biểu thức này.

Một cách tiếp cận khác để xác định lập trình chung, có thể được gọi là lập trình tổng quát các kiểu dữ liệu(tiếng Anh: lập trình chung kiểu dữ liệu) được đề xuất bởi Richard Bird và Lambert Meertens. Trong đó, cấu trúc kiểu dữ liệu là tham số của các chương trình tổng quát. Để làm điều này, một mức độ trừu tượng mới được đưa vào ngôn ngữ lập trình, cụ thể là tham số hóa liên quan đến các lớp đại số có ký hiệu biến. Mặc dù lý thuyết của cả hai cách tiếp cận đều độc lập với ngôn ngữ lập trình, nhưng cách tiếp cận Masser-Stepanov, nhấn mạnh vào phân tích khái niệm, đã biến C++ thành nền tảng chính của nó, trong khi lập trình kiểu dữ liệu chung chỉ sử dụng Haskell và các biến thể của nó.

Cơ chế chung

Các công cụ lập trình tổng quát được triển khai trong các ngôn ngữ lập trình dưới dạng các phương tiện cú pháp nhất định giúp mô tả dữ liệu (kiểu dữ liệu) và thuật toán (thủ tục, hàm, phương thức) được tham số hóa theo kiểu dữ liệu. Một hàm hoặc kiểu dữ liệu có các tham số kiểu hình thức được mô tả rõ ràng. Mô tả này mang tính khái quát và không thể sử dụng trực tiếp ở dạng ban đầu.

Ở những vị trí trong chương trình sử dụng loại hoặc hàm chung, lập trình viên phải chỉ định rõ ràng tham số loại thực tế chỉ định mô tả. Ví dụ: một quy trình chung để hoán đổi hai giá trị có thể có một tham số loại chỉ định loại giá trị mà nó hoán đổi. Khi một lập trình viên cần hoán đổi hai giá trị số nguyên, anh ta gọi một thủ tục có tham số kiểu “số nguyên” và hai tham số - số nguyên, khi hai chuỗi - với tham số kiểu "chuỗi" và hai tham số - chuỗi. Ví dụ, trong trường hợp dữ liệu, một lập trình viên có thể mô tả một loại “danh sách” chung với tham số loại xác định loại giá trị được lưu trữ trong danh sách. Sau đó, khi mô tả danh sách thực, người lập trình phải chỉ định loại chung và tham số loại, do đó thu được bất kỳ danh sách mong muốn nào bằng cách sử dụng cùng một mô tả.

Trình biên dịch, gặp lệnh gọi đến một kiểu hoặc hàm chung, thực hiện các thủ tục kiểm tra kiểu tĩnh cần thiết, đánh giá khả năng của một đặc tả nhất định và, nếu đánh giá là dương, sẽ tạo mã, thay thế tham số kiểu thực tế thay cho kiểu hình thức tham số trong mô tả chung. Đương nhiên, để sử dụng thành công các khai báo chung, các kiểu tham số thực tế phải đáp ứng một số điều kiện nhất định. Nếu một hàm tổng quát so sánh các giá trị của một loại tham số thì bất kỳ loại cụ thể nào được sử dụng trong nó đều phải hỗ trợ các phép toán so sánh; nếu nó gán các giá trị của một loại tham số cho các biến thì loại cụ thể đó phải hỗ trợ phép gán chính xác.

Lập trình tổng quát bằng ngôn ngữ

C++

Trong C++, lập trình tổng quát dựa trên khái niệm “mẫu”, được biểu thị bằng từ khóa bản mẫu. Được sử dụng rộng rãi trong thư viện chuẩn C++ (xem STL), cũng như trong thư viện tăng cường của bên thứ ba, Loki. Alexander Stepanov đã có đóng góp to lớn cho sự xuất hiện của các công cụ lập trình tổng quát được phát triển trong C++.

Ví dụ: chúng tôi đưa ra một mẫu (tổng quát hóa) của hàm trả về giá trị lớn hơn trong hai giá trị.

// Mô tả mẫu hàm bản mẫu< typename T >T max (T x , T y ) ( if (x< y ) return y ; else return x ; } ... // Áp dụng hàm được chỉ định bởi mẫu int a = max(10, 15); ... gấp đôi f = max (123,11, 123,12); ...

hoặc một mẫu (tổng quát hóa) của lớp danh sách liên kết:

bản mẫu< class T >Danh sách lớp ( /* ... */ public : void Add ( const T & Element ); bool Find ( const T & Element ); /* ... */ );

Java

Java đã cung cấp các công cụ lập trình chung về mặt cú pháp dựa trên C++ kể từ J2SE 5.0. Ngôn ngữ này có thuốc generic hoặc "thùng chứa loại T" - một tập hợp con của lập trình tổng quát.

.MẠNG LƯỚI

// http://digitalmars.com/d/2.0/template.html mẫu Foo (T , R ...) // T - type, R - tập hợp các loại( void Foo (T t , R r ) ( writeln (t ); static if (r . length ) // if có thêm đối số Foo (r ); // thực hiện các đối số còn lại) ) void main () ( Foo (1 , "a" , 6.8 ); ) /++++++++++++++++ bản in: 1 a 6.8 +++++++++ ++++++/