Главное меню
Мы солидарны с Украиной. Узнайте здесь, как можно поддержать Украину.

IEIEIEIO

Автор arseniiv, октября 30, 2010, 18:47

0 Пользователи и 1 гость просматривают эту тему.

Python

Цитата: http://forums.sun.com/thread.jspa?threadID=145493&start=15
It is possible to use goto in Java at the bytecode level.
I have a system (module) that allows this and its fully functional.

See: //coresoft.blogspot.com

It has been very helpful, especially since I created it to help me move a Fortran commercial program to Java! And if you have ever tried to rewrite the loic and structure of a large old Fortran code base....
you get the idea. Lots of headaches.

This is the only reason I think that Java should support Gotos, that is, to enable more convenient porting of older software.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

myst

Цитата: Python от ноября  5, 2010, 16:04
Последствия землетрясений все окупят
Чиво-чиво они сделают?

Цитата: Python от ноября  5, 2010, 16:04
Нет, динмическая типизация — не статическая типизация вообще.
Капитан Очевидность только что умер от инфаркта. :D

Цитата: Python от ноября  5, 2010, 16:04
В большинстве случаев, это производная от полиморфизма объектов, ближайшим прототипом которого была не строгая типизация классического Паскаля, а сишное свободное присвоение указателю на структуру А сходной, но не идентичной, структуры типа В, С или D, совместимость которых обеспечивалась с помощью полей-указателей на функции.
Да Вы ещё до кучи и строгость типизации со статичностью типизации путаете.

Цитата: Python от ноября  5, 2010, 16:04
Именно этот пункт считаю бесполезным.
Это очень весомое мнение, учитывая глубину Вашего понимания концепции модульности.

Цитата: Python от ноября  5, 2010, 16:04
Все остальное (запрет доступа к кишкам и пр.) вполне оправдано, но в чем практическая польза этого запрета (не считая возможности понтоваться голословным утверждением о знании матчасти)?
То есть Вы всё-таки понимаете, что зависимость модуля от реализации другого модуля — зло? Теперь почините наконец логику и подумайте, почему транзитивность — это плохо.

Цитата: Python от ноября  5, 2010, 16:04
Одна из целей модульности — сокращение количества написанного руками кода
Не угадали.

Цитата: Python от ноября  5, 2010, 16:04
Да, Страуструп в своей книжке пишет, что инклуд, включающий другие инклуды с декларациями — это плохо, но ведь и инклуд из С++ никуда не исчез.
О, неужели Страуструп со мной согласен?! В C++ много чего есть, что должно было, но так никуда и не исчезло. За это Страуструпа проклинают уже много лет.

Цитата: Python от ноября  5, 2010, 16:04
Это уже детали, которые в точности восстановить можно лишь путем гадания на кофейной гуще.
Ознакомьтесь с историей Java.

Цитата: Python от ноября  5, 2010, 16:04
Дыру в защите можно создать, вообще не используя goto.
goto даёт возможность писать непонятный вермишелевый код. Вам надо объяснять, чем чревато плохое понимание кода?

Python

Цитата: myst от ноября  5, 2010, 17:30
goto даёт возможность писать непонятный вермишелевый код. Вам надо объяснять, чем чревато плохое понимание кода?
Причиной «вермишельного кода» в эпоху ранних языков программирования было не наличие goto, а отсутствие других средств построения алгоритма. А плохой код может быть и вполне структурированным — например, с логическими переменными для затыкания дырок безгоутушности.
Цитата: myst от ноября  5, 2010, 17:30
Да Вы ещё до кучи и строгость типизации со статичностью типизации путаете.
1) Есть динамическая типизация — то что мы видим в питоне, джаваскрипте, вижуалбейсике. В джаве элементы динамической типизации тоже присутствуют, т.е., мы можем написать код, и он будет работать:
Object a;
if(Math.random() > 0.5) a= 256; else a = "CCLVI";
System.out.println(a);

2) Есть строгая статическая типизация — то, что мы видим в классическом Паскале или Аде. Числа остаются числами, строки остаются строками, указатели остаются указателями, тип указываемых данных тоже остается неизменным.

3) Есть нестрогая статическая типизация — то, что мы видим в С, где любые данные могут рассматриваться как содержимое ячеек памяти по определенному адресу, а типы данных — фактически, лишь набор средств для работы с ними.

Динамическая типизация является частным случаем полиморфизма объектов. Полиморфизм же, в свою очередь, был впервые реализован средствами нестрогой статической типизации.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  5, 2010, 17:30
То есть Вы всё-таки понимаете, что зависимость модуля от реализации другого модуля — зло? Теперь почините наконец логику и подумайте, почему транзитивность — это плохо.
Мне кажется, здесь следует различать случай, когда импортируемые модули используются непосредственно в данном модуле (тогда их действительно незачем передавать дальше по очереди), и случай, когда мы намеренно создаем «подборку» классов/функций для дальнейшего использования в других программах.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  5, 2010, 17:30
Не угадали.
Увеличение написанного руками кода? 0_о
(хотя, смотря на джаву, мимоволі замислюєшся: а не проще ли на ассемблере?)
Цитата: myst от ноября  5, 2010, 17:30
Капитан Очевидность только что умер от инфаркта.
Он не смог не заметить, что строгий контроль типов и статическая типизация — немного разные понятия, и прибыл на помощь. А мы его так хладнокровно...
Цитата: myst от ноября  5, 2010, 17:30
Чиво-чиво они сделают?
Таво-таво.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

myst

Цитата: Python от ноября  5, 2010, 18:15
Причиной «вермишельного кода» в эпоху ранних языков программирования было не наличие goto, а отсутствие других средств построения алгоритма.
То-то его все теоретики прокляли.

Цитата: Python от ноября  5, 2010, 18:15
А плохой код может быть и вполне структурированным — например, с логическими переменными для затыкания дырок безгоутушности.
Ичиво?

Цитата: Python от ноября  5, 2010, 18:15
Object a;
if(Math.random() > 0.5) a= 256; else a = "CCLVI";
System.out.println(a);
Это статическая типизация.

Цитата: Python от ноября  5, 2010, 18:15
типы данных — фактически, лишь набор средств для работы с ними.
Чиво-чиво?

Цитата: Python от ноября  5, 2010, 18:22
Мне кажется, здесь следует различать случай, когда импортируемые модули используются непосредственно в данном модуле (тогда их действительно незачем передавать дальше по очереди), и случай, когда мы намеренно создаем «подборку» классов/функций для дальнейшего использования в других программах.
Так Вы поняли, почему транзитивность импорта модулей недопустима, или нет?

Цитата: Python от ноября  5, 2010, 18:29
Увеличение написанного руками кода? 0_о
Снова не угадали.

Цитата: myst от ноября  5, 2010, 17:30
Да Вы ещё до кучи и строгость типизации со статичностью типизации путаете.
Цитата: Python от ноября  5, 2010, 18:29
Он не смог не заметить, что строгий контроль типов и статическая типизация — немного разные понятия, и прибыл на помощь.
:??? Сами себе пришли на помощь? Оригинально. :eat:

Цитата: Python от ноября  5, 2010, 18:29
Таво-таво.
Цитата: http://gramota.ru/slovari/dic/?lop=x&bts=x&zar=x&ag=x&ab=x&sin=x&lv=x&az=x&pe=x&word=
ОКУПИТЬ, -куплю, -купишь; окупленный; -лен, -а, -о; св. что.
Возмещать истраченное, израсходованное на что-л. О. расходы на поездку. < Окупать, -аю, -аешь; нсв.
Последствия землетрясения возместят расходы? :eat:

myst

Цитата: Python от ноября  5, 2010, 16:13
Цитата: http://forums.sun.com/thread.jspa?threadID=145493&start=15
It is possible to use goto in Java at the bytecode level.
I have a system (module) that allows this and its fully functional.

See: //coresoft.blogspot.com

It has been very helpful, especially since I created it to help me move a Fortran commercial program to Java! And if you have ever tried to rewrite the loic and structure of a large old Fortran code base....
you get the idea. Lots of headaches.

This is the only reason I think that Java should support Gotos, that is, to enable more convenient porting of older software.
Неужели нашли единомышленника-велосипедиста?

Python

Цитата: myst от ноября  5, 2010, 19:16
Ичиво?
Атаво. Будет та же вермишель, но под булевым соусом.
Цитата: myst от ноября  5, 2010, 19:16
Это статическая типизация.
Это уже нечто среднее между статической типизацией и динамической.
Цитата: myst от ноября  5, 2010, 19:16
Так Вы поняли, почему транзитивность импорта модулей недопустима, или нет?
Вы утверждаете, что ЛЮБАЯ транзитивность — зло. Я утверждаю, что транзитивность — зло в случае, если импортируемые модули требуются непосредственной реализации данного модуля, но транзитивность — добро, если модуль создан именно для транзита других модулей или отдельных их элементов. Существуют private- и public- классы, поля и методы. Должен существовать private- и public- импорт, т.е., без транзитивности и с транзитивностью, в зависимости от поставленной задачи.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  5, 2010, 19:21
Неужели нашли единомышленника-велосипедиста?
А почему велосипедист? Велосипедисты — те, кто считает, что лучше создать новый код с нуля, чем приспособить существующий к современным потребностям. Фортран достаточно долго был основным языком программирования. Было бы странно думать, что в наше время все эти залежи программного кода — бесполезный мусор.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  5, 2010, 19:16
Последствия землетрясения возместят расходы?
Скорее, экономию расходов ;)
Цитата: myst от ноября  5, 2010, 19:16
Чиво-чиво?
Что тут непонятного?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

http://eriwen.com/opinion/what-spaghetti-code-looks-like/
Интересно, что пример «вермишельного кода», на который ссылается статья, написан на безгоутушном джаваскрипте.
ЦитироватьThe three deadly sins in this case are:
І Scripting logic is strewn throughout the page instead of being kept in one place
ІІ The code is difficult to extend
ІІІ It is difficult to reverse-engineer, making it a maintenance nightmare

С другой стороны, даже код с goto может иметь вполне логичный порядок, быть пригодным для чтения и доработки.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Пример кода, в котором использование перехода я считаю оправданным:

procedure tgraptCharset.AddSymbolEncoding(code,charset, symbol,alphabet:string);
label add_symbol;
var i,j:integer;
    gs:graptstr;
begin
   //if encoding charset with such name does not exist then create it:
    for i:=0 to length(encodings)-1 do
if encodings[i].title=charset then goto add_symbol;
    i:=length(encodings);
    setlength(encodings,i+1);
    encodings[i].title:=charset;
    encodings[i].code:=nil;
    encodings[i].grapt32:=nil;
add_symbol:
   //prepare gs:
   gs:=fromGrapt7(grapt7prefixe+alphabet+grapt7delimiter+symbol);//gs:=gettranslit(symbol,alphabet);
   //add pair grapt32&code:
   j:=length(encodings[i].grapt32);
   setlength(encodings[i].grapt32,j+1);
   setlength(encodings[i].code,j+1);
   encodings[i].grapt32[j]:=gs;
   encodings[i].code[j]:=code;
end;
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

myst

Цитата: Python от ноября  5, 2010, 20:50
Атаво. Будет та же вермишель, но под булевым соусом.
Хоть бы пример, что ли привели, а то не наглядно как-то.

Цитата: Python от ноября  5, 2010, 20:50
Это уже нечто среднее между статической типизацией и динамической.
И какое же требование статической типизации здесь нарушено?

Цитата: Python от ноября  5, 2010, 20:50
но транзитивность — добро, если модуль создан именно для транзита других модулей или отдельных их элементов.
Вы наивно полагаете, что это не разрешено, по какой-то нелепой случайности, по недосмотру теоретиков, да? :eat:

Цитата: Python от ноября  5, 2010, 20:54
А почему велосипедист?
А потому что есть трансляторы с Фортрана.

Цитата: Python от ноября  5, 2010, 20:54
Велосипедисты — те, кто считает, что лучше создать новый код с нуля, чем приспособить существующий к современным потребностям. Фортран достаточно долго был основным языком программирования. Было бы странно думать, что в наше время все эти залежи программного кода — бесполезный мусор.
Ога, вручную переписывать с фортрана на жабу или лепить наколенную поделку, кое-как это автоматизирующую, не велосипедизм, но приспособление кода. :D
Взять готовый транслятор (как ни странно для его создания портить жабу ВНЕЗАПНО не пришлось) парню религия, видать, не позволяет.

Цитата: Python от ноября  5, 2010, 21:00
Что тут непонятного?
Ничего, переформулируйте этот кусок своей мысли.

Цитата: Python от ноября  6, 2010, 10:00
Интересно, что пример «вермишельного кода», на который ссылается статья, написан на безгоутушном джаваскрипте.
Вы пытаетесь доказать, что существует говнокод и на структурных языках, штоле? :???

Цитата: Python от ноября  6, 2010, 10:00
С другой стороны, даже код с goto может иметь вполне логичный порядок, быть пригодным для чтения и доработки.
Да-да, это всё заговор Дейкстры и его банды схоластов. Где же Вы были, товарищ?! Доказали бы всем с кодом в руках, что goto ни в чём не виноват, что это всё криворукие бидлокодеры. А сейчас уже поздно, гайки закручены, классический васик не вернуть. :'(

Цитата: Python от ноября  6, 2010, 10:20
Пример кода, в котором использование перехода я считаю оправданным:
Хреновенький код, читается плохо.
Что, нельзя было написать:

...
enc_t* enc = find_enc(charset);
if(enc == NULL) enc = add_enc(charset);
или даже просто
enc_t* enc = find_or_add_enc(charset);

add_symbol(...);
...

?

Python

Цитата: myst от ноября  6, 2010, 17:35
Вы пытаетесь доказать, что существует говнокод и на структурных языках, штоле?
А разве не существует?
Цитата: myst от ноября  6, 2010, 17:35
Хреновенький код, читается плохо.
Что, нельзя было написать:
...
enc_t* enc = find_enc(charset);
if(enc == NULL) enc = add_enc(charset);
или даже просто
enc_t* enc = find_or_add_enc(charset);

add_symbol(...);
...
̑

Не стоит забывать, что вызов процедуры — тоже разновидность перехода. Если фрагмент, встречающийся в программе один раз, оказывается в процедуре (т.е., вне своего места в алгоритме), которая, в свою очередь, может оказаться в другом конце программы, не получим ли мы ту же вермишель — текст, который приходится больше перелистывать, чем читать?
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Demetrius

Python, вы воюете с ветряными мельницами, доказывая положения, которые myst не оспаривал.

Python

Цитата: myst от ноября  6, 2010, 17:35
Да-да, это всё заговор Дейкстры и его банды схоластов. Где же Вы были, товарищ?!
Меня тогда еще не было :)
Не могу сказать, что борьба с засилием goto — зло, но безгоутушность языка — результат доведения вполне правильной идеи до абсурда.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  6, 2010, 17:35
Взять готовый транслятор (как ни странно для его создания портить жабу ВНЕЗАПНО не пришлось) парню религия, видать, не позволяет.
Видимо, идея состояла в том, чтобы интегрировать код, написанный ранее на фортране, в единый проект, рассчитанный на работу под  JVM. В принципе, адаптация кода, созданного на языке А, к языку Б — идея не новая, и, например, превращение FORTRAN -> C осуществляется сравнительно легко (все, что есть в фортране, в С тоже имеется).
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  6, 2010, 17:35
Вы наивно полагаете, что это не разрешено, по какой-то нелепой случайности, по недосмотру теоретиков, да?
И в чем же состоит моя наивность, своими словами можете объяснить?
Публичные методы — тоже зло во многих случаях, но это еще не повод для полного их запрета.
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Python

Цитата: myst от ноября  6, 2010, 17:35
Хоть бы пример, что ли привели, а то не наглядно как-то.
ОК, вот пример программы на бейсике с GOTO и без. Второй пример механически переделан из первого с использованием дополнительной переменной.

Фе, вермишель!

   10 INPUT A,B,C
      IF(A=0 AND B=0 AND C=0) GOTO 50
      IF(A=0 OR  B=0 OR  C=0) GOTO 90
      S = (A + B + C) / 2.0
      AREA = SQRT( S * (S - A) * (S - B) * (S - C))
      PRINT A,B,C,AREA
      GOTO 10
   50 PRINT "Bye!"
      END
   90 PRINT "Error!"
      END

СтруктурностьЪ!

L=10
DO
   WHILE L=10
      INPUT A,B,C
      IF(A=0 AND B=0 AND C=0) THEN
         L=50
         EXIT WHILE
      END IF
      IF(A=0 OR  B=0 OR  C=0)  THEN
         L=90
      END IF
      IF L=10 THEN
         S = (A + B + C) / 2.0
         AREA = SQRT( S * (S - A) * (S - B) * (S - C))
         PRINT A,B,C,AREA
      END IF
  WEND
  IF L=50
      PRINT "Bye!"
      EXIT LOOP
  END IF
  IF L=90
      PRINT "Error!"
      EXIT LOOP
   END IF
LOOP
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

Demetrius

Python,  выполните, пожалуйста, программу:

10 украсть у темнозвезда учебник логики
20 прочитать его
30 прекратить троллить миста с деметриусом
40 goto 10

Python

Цитата: Demetrius от ноября  7, 2010, 03:25
30 прекратить троллить миста с деметриусом
Странно. Я думал, это они меня троллят
Пролетареві ніколи вчити європейських мов, бодай би свою знати добре і на ній принести до своєї хати світло знання (Гнат Хоткевич)
ÆC CASALI NAXI PRASQURI: AHOV CÆRU, MERTVÆRI TÆ SLAVUTÆT!
Вони просили його: «Скажи: кетум», а він говорив: «сатем», і не міг вимовити правильно.
Хотелось бы также отметить, что "Питон" - это "мышиный язык" : "пи+тон". © АБР-2

myst

Цитата: Python от ноября  6, 2010, 22:27
Не стоит забывать, что вызов процедуры — тоже разновидность перехода. Если фрагмент, встречающийся в программе один раз, оказывается в процедуре (т.е., вне своего места в алгоритме), которая, в свою очередь, может оказаться в другом конце программы, не получим ли мы ту же вермишель — текст, который приходится больше перелистывать, чем читать?
Нет не получим. В хорошо написанной программе по имени подпрограммы ясно, что она делает. Как она это делает, знать нужно далеко не всегда.
Подпрограммы Вам даны, чтобы писать на языке задачи. Вы же пишете на языке реализации. В Вашей подпрограмме смешаны реализации операций над разными объектами — списком кодировок и кодировкой. Это очень плохой стиль, и goto намекает на это. Читать такое неприятно. Это как пассажир такси, тараторящий: «Приотпусти педаль газа, выжми сцепление перейди на первую, сдай вправо, прижмись к обочине, нажми педаль тормоза,...», вместо «Остановите здесь, пожалуйста».

Demetrius

A = myst против goto
B = myst считает, что goto дает возможность писать макаронный код
C = myst против всего, что дает возможность писать макаронный код

Следует ли из утверждений А и В утверждение С? Ответ на этот и многие другие вопросы Вы найдете в учебнике логики!

myst

Цитата: Python от ноября  6, 2010, 22:48
Видимо, идея состояла в том, чтобы интегрировать код, написанный ранее на фортране, в единый проект, рассчитанный на работу под  JVM.
Это как?

myst

Цитата: Python от ноября  6, 2010, 23:13
И в чем же состоит моя наивность, своими словами можете объяснить?
Ваша проблема в том, что Вы недопонимаете концепцию модульности.

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр