|   |   | 
| 
 | Новый язык программирования Nemerle (май 2011 г.) | ☑ | ||
|---|---|---|---|---|
| 0
    
        Stagor 04.08.11✎ 13:24 | 
        Кто-нибудь применял или хотя бы ознакомился?
  wiki:Nemerle | |||
| 1
    
        ДенисЧ 04.08.11✎ 13:24 | 
        Новый? О_о...     | |||
| 2
    
        ДенисЧ 04.08.11✎ 13:26 | ||||
| 3
    
        aka AMIGO 04.08.11✎ 13:26 | 
        а вам приходилось писать программу непосредственно в машинных кодах?
  мне довелось.. генконструктору в диссертацию насчитал пачку таблиц.. Минск-2 назывался агрегат.. | |||
| 4
    
        aka AMIGO 04.08.11✎ 13:27 | 
        (1) ну, для ТС - новый..     | |||
| 5
    
        Мулька 04.08.11✎ 13:28 | 
        (3) Асемблером на ЕС ЭВМ игрался     | |||
| 6
    
        quest 04.08.11✎ 13:28 | 
        (0) открой для себя Лисп (причем любой - от cl до clojure)     | |||
| 7
    
        aka AMIGO 04.08.11✎ 13:30 | 
        (5) ммм.. и я тоже что-то писал, это вторая фаза, ЕС :)
  но основной мой в то время был КОБОЛ :) считал зарплату в ящике :) | |||
| 8
    
        Ненавижу 1С гуру 04.08.11✎ 13:33 | 
        (0)там есть неопределено?     | |||
| 9
    
        andrewks 04.08.11✎ 13:33 | 
        (0) и какой с него профит?     | |||
| 10
    
        aka AMIGO 04.08.11✎ 13:35 | 
        =9 да, и интересно, каждый язык слегка объектно-ориентированный..
  куда этот ориентирован? :) зы вику читать лень.. :) | |||
| 11
    
        andrewks 04.08.11✎ 13:35 | 
        (10) ты хотел сказать: предметно-... ?     | |||
| 12
    
        aka AMIGO 04.08.11✎ 13:37 | 
        (11) угу, конечно :)     | |||
| 13
    
        wade25 04.08.11✎ 13:37 | 
        (0) На данный момент нет интеграции LINQ, только через небезопасный код в C#, но это бредого и никому не нужно =)
  ИМХО языку уже 5 лет, а он до сих пор для многих как новинка. F#, вроде классный, удобный, с большим количеством уже написаных полезных библиотек, но... | |||
| 14
    
        aka AMIGO 04.08.11✎ 13:41 | 
        C# с двадцатилетними (если не больше) традициями, мощнейший язык, по возможностям ему равных нет.. достаточно знать один.. имхо, конечно..
  и уж конечно, библиотеки непревзойденные.. всё равно по умолчанию интеграция с в него.. | |||
| 15
    
        ДенисЧ 04.08.11✎ 13:42 | 
        Вот вам про него, изучайте...
  http://www.rsdn.ru/forum/nemerle/ | |||
| 16
    
        Stagor 04.08.11✎ 13:42 | 
        (3) Да! На Бк-0010, но к чему вопрос то?
  (9) Вот: Ряд языковых средств кардинальным образом отличает Nemerle от C#, Java, C++. Это макросы и замыкания, причём в виде, более характерном для Lisp или других функциональных языков, нежели для С++. Система макросов позволяет описывать на Nemerle новые синтаксические конструкции и использовать их наравне со встроенными. В действительности, большинство директивных управляющих конструкций, в том числе операторы if, when, циклы всех видов, реализованы в виде макросов стандартной библиотеки Nemerle. | |||
| 17
    
        wade25 04.08.11✎ 13:44 | 
        (14) Лол, C++ по возможностям делает C#...
  Хотя по технологиям шарпей вырывается, но эт уже политика майкрософт( | |||
| 18
    
        Господин ПЖ 04.08.11✎ 13:45 | 
        >или хотя бы ознакомился? 
  накуа? их уже вагон, языков этих | |||
| 19
    
        andrewks 04.08.11✎ 13:47 | 
        (16) макросы? и чё? даже на древнющих ассемблерах макросы были     | |||
| 20
    
        aka AMIGO 04.08.11✎ 13:47 | 
        (17) я имел в виду именно CPP, так у меня домашний дистрибутив называется.. а еще есть TurboC, близкий родич :)     | |||
| 21
    
        Krendel 04.08.11✎ 13:47 | 
        (14) Не буду утверждать, но вот понятие "мощный" относится как раз к языкам более низкого уровня характеризуя возможность реализации  большего спектра задач. Если я не прав поправьте     | |||
| 22
    
        Stagor 04.08.11✎ 13:50 | 
        (19) Можно управляющие конструкции свои создавать 
  типа "if () {} else {}" и свой синтаксис, в отличии от С++ и С# | |||
| 23
    
        Господин ПЖ 04.08.11✎ 13:51 | 
        (22) и накуа это? чтобы запутаться в конец?
  false = true true = false счастливой отладки? | |||
| 24
    
        aka AMIGO 04.08.11✎ 13:52 | 
        (22) они все утяжеляют конечный код..
  а это всё = время реакции программного модуля | |||
| 25
    
        andrewks 04.08.11✎ 13:54 | 
        круче классов и подсистем/библиотек трудно, наверное, что-то придумать.
  следующий прорыв - AI, прямо перед бунтом машин :) | |||
| 26
    
        wade25 04.08.11✎ 13:54 | 
        (24) Угу, получется, сначала раскодирует макросы, потом, в мсил, потом в джит и далее -->
  Хотя, механизм преобразования в промежуточный я читал, никак на производительность не влияет... | |||
| 27
    
        Stagor 04.08.11✎ 13:54 | 
        (24) 1С8 в этом далеко продвинулся!     | |||
| 28
    
        Stagor 04.08.11✎ 13:55 | 
        (25) Это только задержка во время компиляции!     | |||
| 29
    
        Stagor 04.08.11✎ 13:55 | 
        вот, что мне ещё понравилось, но это есть и в других языках (в 1С нет)
  Наличие локальных функций (лексических замыканий). Функция является полноправным объектом, то есть может быть сохранена в переменной, передана в качестве аргумента в другую функцию или возвращена из функции. | |||
| 30
    
        andrewks 04.08.11✎ 13:55 | 
        (28) чо?     | |||
| 31
    
        andrewks 04.08.11✎ 13:56 | 
        (29) и чо? тупо через класс реализуешь, в чём профит-то?     | |||
| 32
    
        Stagor 04.08.11✎ 13:58 | 
        (30) развертка макроса в момент компиляции. в момент выполнения все работает быстро!     | |||
| 33
    
        Stagor 04.08.11✎ 13:58 | 
        (31) Класс нельзя сделать в момент выполнения программы!     | |||
| 34
    
        andrewks 04.08.11✎ 14:00 | 
        будущее - за кросс-платформенными, легко портируемыми решениями, и за предметно-ориентированными языками
  и, кстати, по какой лицензии он идёт? | |||
| 35
    
        Stagor 04.08.11✎ 14:02 | 
        (34) "по какой лицензии он идёт" - не знаю!
  "за предметно-ориентированными языками " - скорее всего да. Каждая компания будет делать свой ЯП и ОС! Гугл (язык Go, ОС: Android, Crome, Соц сеть G+, поисковик Google) | |||
| 36
    
        Rabbit 04.08.11✎ 14:04 | 
        (14)(17) Python сделает и того и другого, если говорить о прикладном уровне.     | |||
| 37
    
        andrewks 04.08.11✎ 14:11 | 
        дык он .NET требует. и в чём соль?     | |||
| 38
    
        wade25 04.08.11✎ 14:20 | 
        (37) Там написано, поддерживает моно =)     | |||
| 39
    
        Ненавижу 1С гуру 04.08.11✎ 15:04 | 
        (14)  Разработан в 1998—2001 годах группой инженеров под руководством Андерса Хейлсберга в компании Microsoft как язык разработки приложений для платформы Microsoft .NET Framework и впоследствии был стандартизирован как ECMA-334 и ISO/IEC 23270.     | |||
| 40
    
        Pasha 04.08.11✎ 15:17 | 
        (0) Как говорится...сами придумали - сами пускай и кодят :) А нам и 1С сойдет :)     | |||
| 41
    
        IKSparrow 04.08.11✎ 15:22 | 
        (0) Любишь "новенькое"? Обрати тогда свой взор в сторону Forth. Вот это отличный инструмент. А всё остальное фигня.     | |||
| 42
    
        IKSparrow 04.08.11✎ 15:23 | 
        +(41) Собственно, всё что в Немерли, было придумано ещё до него в Форте.     | |||
| 43
    
        Stagor 05.08.11✎ 13:49 | 
        (41) Форт я знаю, программировал на Форт-79, даже писал интерпретатор Форта в качестве курсовой в институте.
  Был ещё калькулятор MK-61 и МК-52 там язык был, по идеологии, Форт! Только Форт неудобный, как и Лисп. Хотя от этих языков все "современные" фишки в языках типа C# 4.0 и плагин R# | |||
| 44
    
        Rabbit 08.08.11✎ 02:21 | 
        Заколебали вы своим Фортом. Устарел он.     | |||
| 45
    
        Злопчинский 08.08.11✎ 03:02 | 
        Приходилось.. армейские спецвычислители эпзодически, ассемблер на ЕС ЭВМ вовсю в хвост и гриву, своя "ОС", кросс-ассемблер, алгол вовсю...
  . от ассемблера ЕС остались самые положительные впечатления... где бы еще эмулятор найти... . | |||
| 46
    
        Злопчинский 08.08.11✎ 03:04 | 
        (41) у нас парень в группе на Forth налабал компилятор для PL/1 - работали на док-станциях ЕС7970 (это те, что пришли на смену 7920)     | |||
| 47
    
        Rie 08.08.11✎ 05:30 | 
        (43) Forth сам эти "современные фишки" заимствовал - у того же Лиспа :-)     | |||
| 48
    
        Rie 08.08.11✎ 05:32 | 
        (42) Отличных инструментов не бывает. Бывают отличные инструменты для чего-то.
  А за пределами "гибкий язык для микроконтроллеров" - какой кайф от Forth? | |||
| 49
    
        Rie 08.08.11✎ 05:34 | 
        (13) Поскольку F# цепляется к .NET, библиотек у него примерно столько же, сколько и у любого другого.     | |||
| 50
    
        IVIuXa 08.08.11✎ 05:34 | 
        (17)
  гыыы сравнил напиши web приложение на с++ | |||
| 51
    
        Rie 08.08.11✎ 05:36 | 
        (17) Что значит "делает"? Все языки эквивалентны, вопрос только в удобстве для конкретной задачи.     | |||
| 52
    
        Rie 08.08.11✎ 05:38 | 
        (9) Основной профит - довольно аккуратно сочетаются императивная и функциональная парадигмы + развитые макросредства.     | |||
| 53
    
        IVIuXa 08.08.11✎ 05:45 | 
        (52)
  ну вот маты пошли... :) | |||
| 54
    
        Rie 08.08.11✎ 05:54 | 
        (53) Это одобрительные маты :-)     | |||
| 55
    
        sergeante 08.08.11✎ 10:15 | 
        лучше б водки выпили!     | |||
| 56
    
        Ненавижу 1С гуру 08.08.11✎ 10:18 | 
        (51) почему эквивалентны?
  SQL эквивалентен C#? | |||
| 57
    
        Rie 08.08.11✎ 10:20 | 
        (56) Потому что все они - не более чем разукрашенная машина Тьюринга (или её эквиваленты).     | |||
| 58
    
        ДенисЧ 08.08.11✎ 10:28 | 
        (57) Ага? SQL - тоже машина Тьюринга? Чистый скуль, разумеется?     | |||
| 59
    
        GoldenDawn 08.08.11✎ 10:33 | 
        все вы будете писать на том за что будут платить
  хоть на 1с хоть пальцем на заборе | |||
| 60
    
        Rie 08.08.11✎ 10:34 | 
        (58) "Совсем чистый" SQL - нет. Но его и языком программирования назвать - рука не подымается.
  А вот если дать ему хотя бы одну точку опоры... | |||
| 61
    
        Rie 08.08.11✎ 10:35 | 
        (59) А это уже вполне решаемая задача - убедить заказчика в том, что писать надо именно на вот этом, иначе не взлетит, а падая - пришибёт.     | |||
| 62
    
        Steel_Wheel 08.08.11✎ 11:02 | 
        Коллеги, а объясните: что такое есть LINQ и чем лучше SQL?     | |||
| 63
    
        Rie 08.08.11✎ 11:03 | 
        (62) LINQ - расширение C# для работы с наборами данных (не обязательно SQL - можно массив, можно своё что-нибудь хитровывернутое).     | |||
| 64
    
        Shurjk 08.08.11✎ 11:16 | 
        (0) А для чего он почитал в вики про него, не нашел никаких специализаций.     | |||
| 65
    
        Rie 08.08.11✎ 11:21 | 
        (64) Так он общего назначения. Как, к примеру, C#.     | |||
| 66
    
        Steel_Wheel 08.08.11✎ 11:23 | 
        Я просто недавно ASP .NET MVC ковырял, там в примере сайт связывался с SQL базой данных, а все запросы были через LINQ. Вот я и задумался: почему бы не использовать нативные запросы, а именно LINQ в этом случае     | |||
| 67
    
        Rie 08.08.11✎ 11:27 | 
        (66) Не знаю, как в конкретном примере. Но в общем случае LINQ позволяет ваять более сложные запросы, к тому же аккуратно встраивается в язык на предмет типизации и т.п. Ну и обращаться можно не только к SQL - например, можно к XML-дереву запрос составить.     | |||
| 68
    
        Steel_Wheel 08.08.11✎ 11:30 | 
        Надо будет почитать на досуге     | |||
| 69
    
        Shurjk 08.08.11✎ 11:36 | 
        (65) Чем тогда C# не устраивает?     | |||
| 70
    
        Rie 08.08.11✎ 11:40 | 
        (69) C# движется постепенно в том же направлении, IMHO. Но до Nemerle (опять же, IMHO) двигаться будет ещё довольно долго, тщательно обеспечивая совместимость с предыдущими версиями.
  Мне мультипарадигменные гибриды (вроде Nemerle или того же Scala) кажутся очень удобными (как минимум сильно сокращают ненужную писанину). Проблема в том, что для них пока мало чего есть. | |||
| 71
    
        Shurjk 08.08.11✎ 11:55 | 
        (70) Вот в этом то и вопрос будут ли их развивать. Мне кажеться особого смысла в их развитии нет.     | |||
| 72
    
        Rie 08.08.11✎ 12:44 | 
        (71) Смысл-то есть. Другое дело - есть ли ресурсы? Microsoft вбухал кучу средств в C# - он и будет дальше двигать C#, тем более, что сделан C# неплохо, и на этой базе можно его спокойно расширять протестированными на всяких Nemerle и т.д. возможностями.
  С другой стороны, .NET (или JRE, если кому потребуется) - им ведь безразлично, из какого языка к ним обращаться. И тот же Nemerle мог бы стать базой для семейства DSL, причём не кастрированных, как 1Сик, а весьма развитых. Ну и как пример - та же Scala, если верить http://www.langpop.com/ потихоньку добралась до популярности Forth. | |||
| 73
    
        Stagor 08.08.11✎ 16:09 | 
        (70) "(как минимум сильно сокращают ненужную писанину)"
  многие так говорят, но пусть приведут пример кода, где на C# он занимает больше, а на Nemerle в 4 раза меньше или на том же Scala? Нигде не видел подобного сравнения! | |||
| 74
    
        Rie 08.08.11✎ 16:15 | 
        (73) Код HelloWorld на всех языках будет иметь примерно один и тот же размер.
  Однако ты же не станешь возражать, что код на C# можно значительно сократить после того, как в C# ввели ламбда-выражения с выводом типов? | |||
| 75
    
        Stagor 08.08.11✎ 16:28 | 
        (74) Это не пример!
  Вот, пример: Допустим есть задача - найти все комбинации 8-ми ферзей на шахматной доске, что бы ферзи не угрожали друг другу! Если на Nemerle или Scala или F# этот код будет в 4 раза в рамках этой задачи, чем на C# / LISP или тот же Форт! А, то каждый хвалит свой язык, а как до практики дело - то на всех языках эта задача решается одинаково! | |||
| 76
    
        Rie 08.08.11✎ 17:01 | 
        (75) Почему это не пример? В C# постепенно добавляют возможности из функциональных языков. И я показал, что введение в C# ламбды и type inferring сокращает код. Это как раз совсем чистый пример - демонстрация сокращения кода за счёт некоторой возможности на примере одного и того же языка.
  Вот строка кода: transform.onSourceNameChanged += (obj, args) => { toolStripTextBoxSourceName.Text = args.Data; }; Перепиши её на C# 2.0 - и посмотри, насколько _удлинится_ код. Придётся описать класс делегата, функцию для делегата - с явным указанием типов параметров, создать делегата... Выше я писал, что C# постепенно приобретает возможности функциональных языков. И вполне возможно, что какая-нибудь версия C# 18.0 будет во всех отношениях удобнее того же Nemerle. Но пока что - этого нет. | |||
| 77
    
        Steel_Wheel 08.08.11✎ 17:08 | 
        (76) Так делегат же в любом случае должен будет. Или я не прав?     | |||
| 78
    
        Steel_Wheel 08.08.11✎ 17:09 | 
        имею в виду, что должен быть делегат с такой же сигнатурой, как у лямбда-функции     | |||
| 79
    
        Rie 08.08.11✎ 17:26 | 
        (78) Естественно, класс делегата был где-то описан - без него нельзя было бы построить описание класса.
  Но не надо вспоминать, как там называется второй тип функции, не надо описывать функцию и выдумывать ей имя, не надо выписывать new ПолезтьПосмотретьКакТамНазываетсяТипДелегата(...) и т.д. Скажем, в Java меня сильно раздражают обработчики событий тем, что посреди несложного текста появляется объект анонимного класса, реализующего какой-то там интерфейс, с описанием соответствующего метода. Понятно, что всё это - просто синтаксическое неудобство. Но сначала приходится всё это писать, а потом - читать. | |||
| 80
    
        Rie 08.08.11✎ 17:31 | 
        +(79) Кстати, класс делегата описан потому, что transform - объект моего класса. Если бы это был системный класс, то описание было бы "где-то", так что ещё на одну строку было бы короче.     | |||
| 81
    
        Stagor 09.08.11✎ 10:49 | 
        (76) Этот код не выполняет ничего полезного.
  Вот я и предложил сделать задачу о 8 ферзях. С помощью Nemerle, и что бы кода было меньше, чем хотя бы в обычном Си, и хотя бы раза в 2. | |||
| 82
    
        Stagor 09.08.11✎ 10:50 | 
        А то делегаты, объекты, лямда-функции - все это абстракции. Давайте сделаем конкретный пример.
  Думаю в рамках задачи о 8 ферзях на Си будет самое компактное решение без всяких объектов! | |||
| 83
    
        Rie 09.08.11✎ 10:53 | 
        (76) Эта строка выдернута из конкретного проекта, и заверяю - она там не просто полезна, а необходима.
  (82) Бесспортно. HelloWorld имеет примерно один и тот же объём на любом языке. | |||
| 84
    
        Stagor 09.08.11✎ 11:02 | 
        (83) Каждая строка выдернута из какого-нибудь контекста. Каждая строка в этом контексте просто необходима.
  При чем тут "HelloWorld", я вам говорю про задачу о 8-ми ферзях. Вполне конкретная задача по программированию с поиском. | |||
| 85
    
        Rizhij_Nikitos 09.08.11✎ 11:23 | 
        О чем вы спорите?!?!?! 1С - ЛУЧШЕ ВСЕХ!!!     | |||
| 86
    
        Rie 09.08.11✎ 11:29 | 
        (84) А намного ли сложнее задача о 8 ферзях, нежели HelloWorld? Пара десятков строк - хоть на функциональном, хоть на императивном языке программирования.
  Вот, к примеру, Haskell (самый "чистый" функциональный язык программирования на сегодня): is_in _ [] = False is_in a (x:xs) | a == x = True | xs == [] = False | True = is_in a (xs) diag_transform board func = [func x y | (x, y) <- zip board [0..]] valid_pos p g board | is_in p board = False | is_in (p+g) (diag_transform board (+)) = False | is_in (p-g) (diag_transform board (-)) = False | True = True new_board g size board = [board ++ [x] | x <- [0..(size-1)], valid_pos x g board] add_board [] = [] add_board (x:xs) = x ++ add_board xs trans_board g size boards_list = add_board [new_board g size x | x <- boards_list] queens_rec g size pos_list = if g == size then pos_list else queens_rec (g+1) size (trans_board g size pos_list) queens board_size = queens_rec 1 board_size (new_board 0 board_size []) Что видим? А то, что _для данной задачи_ любые более-менее мощные механизмы попросту не нужны - в силу простоты задачи. Ты сам говоришь - "безо всяких объектов". | |||
| 87
    
        Reset 09.08.11✎ 11:30 | 
        (84) Ты как древний человек, утверждающий что молоток лучше ноутбука, потому что им гвоздь забить удобнее. Какие вычисления? Давайте конкретную полезную задачу решим - забить гвоздь!     | |||
| 88
    
        Reset 09.08.11✎ 11:31 | 
        (86) Не получится у вас диалога... уровень ваш отличается слишком.     | |||
| 89
    
        Rie 09.08.11✎ 11:40 | 
        (88) Не заметил разницы уровней. Вижу только разные точки зрения.
  И с тем, что "8 ферзей" на C (даже не на C++) писать ничуть не хуже, чем на C#, Nemerle или Haskell - полностью согласен. И могу ещё кучу задач назвать (причём вполне реальных и объёмных), для которых C - лучшее, что можно найти. | |||
| 90
    
        Cthulhu 09.08.11✎ 11:46 | 
        (47): теплое с мягким.
  (86): а теперь на brain... :)))) | |||
| 91
    
        Reset 09.08.11✎ 11:59 | 
        (89) Я к тому, что ты его понимаешь, а он тебя - нет.     | |||
| 92
    
        Stagor 09.08.11✎ 12:11 | 
        (91) С чего ты взял, что не понимаю? Понимаю.
  Чисто вычислительные задачи можно писать сплошняком на любом языке. Все языки одинаково неудобны для таких задач. Для задачи о 8-ми ферзях подошел бы предметно-ориентированный язык, который оперировал фигурами (в данном случае ферзями) и расположением на доске. Программа бы была записана примерно так: Расположить Ферзь(8) условие (Каждый Ферзь(_) != Угроза) | |||
| 93
    
        Rizhij_Nikitos 09.08.11✎ 12:12 | 
        (90)>+++[>++++++++++<-]>.     | |||
| 94
    
        Rie 09.08.11✎ 19:28 | 
        (92) Для любой задачи лучшим был бы соответствующий предметно-ориентированный язык. Желательно - ориентированный именно на данную задачу. Тогда программа состояла бы ровно из одного оператора.
  Однако такого не бывает - и приходится либо создавать DSL для этого класса задач "с нуля" или же надстраивать какой-либо из языков общего назначения. И тут уже интересны возможности языка общего назначения для такого расширения. В C единственным способом были функции, в C++ - появились классы. И т.д. | |||
| 95
    
        Mnemonic1C 09.08.11✎ 19:35 | 
        (94) Ну в С ещё были структуры (и есть), или я что то путаю?     | |||
| 96
    
        Rie 09.08.11✎ 19:42 | 
        (95) Были, конечно. И массивы, и объединения. Но я имел в виду возможность описывать понятия "предметной области".     | |||
| 97
    
        Steel_Wheel 10.08.11✎ 09:25 | 
        (95) Были, но в них методы нельзя было прописывать     | |||
| 98
    
        Stagor 10.08.11✎ 12:46 | 
        (94) Да! Думали, что вместо предметно-ориентированных языков будут просто свои библиотеки шаблонов С++ типа STL.
  а вот и не вышло. (96) Не так то удобно описывать предметную область классами, как показала практика. Должна быть ещё "визуальная окантовка" предметки! (97) В Си есть ссылка на функцию - т.е. можно сделать все, что угодно! | |||
| 99
    
        Steel_Wheel 10.08.11✎ 14:45 | 
        (98) Слушай, а подскажи: есть
  struct MyStruct { int a; } Как добавить в MyStruct ссылку на функцию, которая могла бы вернуть а или присвоить ему значение? Только чур структуру в эту функцию не передавать | |||
| 100
    
        ДенисЧ 10.08.11✎ 14:46 | 
        truct MyStruct 
  { int a; void MyFunc(int param){a = param;}; } | |||
| 101
    
        Steel_Wheel 10.08.11✎ 14:47 | 
        (100) Это чистый С?     | |||
| 102
    
        ДенисЧ 10.08.11✎ 14:48 | 
        (101) это чистый с++ :-)     | |||
| 103
    
        Steel_Wheel 10.08.11✎ 14:52 | 
        (102) :)
  а Stagor про С говорил... | |||
| 104
    
        Stagor 11.08.11✎ 09:02 | 
        (103) Если я ничего не путаю то как то так:
  struct MyStruct { int a; int (*p)(const char *, const char *); } | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |