|
|
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
ParadoxxclihltParadoxx, Дак уже давно есть - glibc. Чем не STL для C? Да конечно это C standard library, но тогда можно еще отметить uClibc, Klibc, dietlibc, Newlib итд... Но не один из них не можно считать стандартом как например STL дла C++. Ну.. это все какбы даже не кросплатформенно ( я про ОС) . Хотя утверждать не буду ) О dietlibc и Newlib даже никогда ничего не слышал. ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 17:28:58 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
clihlt, Я имею ввиду что много таких либов, но не один из них не стандарт, то есть не част языка С... Да и вообще С как то уже не развивают... Да согласен с коллегой MasterZiv, что там мало чего развивать ... Но так вообще не чего не делают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 19:46:41 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Год-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:03:18 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
maytonГод-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать. си сабалнсирован. и это хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:12:58 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
mayton, Да в 2007-ом про это говорили, но потом затихли что то... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:20:43 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
eee-pcmaytonГод-полтора назад где-то обсуждали новые стандарты Ansi-C. Даже ссылки куда-то приводились. Но как-то сошлись на мнении что развивать там действительно нечего. Или надо новый язык создавать. си сабалнсирован. и это хорошо. Простите что имеете ввиду говоря си сабалнсирован? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 22:26:56 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Ну если мне не изменяет склероз, в C99 кажется, был вагон и маленькая тележка новых прибамбасов. Другое дело что для гуёвщиков и оопишников там ничего интересного нет. Ну так "Звиняйте, бананив нЭма...". Что касается новых проектов - ещё несколько лет назад было ощущение что все те миллионы и миллионы строк на фортране и алголе (математические либы) будут портироваться на C/C++, но теперь понятно что всё это останется на фортране и будет двигаться в сторону MPI. А чистый C останется в своей нише - языка написания ОС и серверов. Сложно ожидать какого то революционного развития языка предназначенного для решения таких задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2009, 23:46:02 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
mikhail_n ...ещё несколько лет назад было ощущение что все те миллионы и миллионы строк на фортране и алголе (математические либы) будут портироваться на C/C++ Тут вспомнилось - как-то на занятиях по программированию решил рассмотреть простенький библиотечный алгоритм на ФОРТРАНе, но исполнить его на C (тема была по C, а алгоритмов других что-то не приходило в голову. Алгоритм же на Ф. был простенький - в 5 мин. со всеми объяснениями можно уложиться). Начал составлять - не уложился не то что в 5-10 минут, а 2 занятия ухлопал! Именно тогда я понял, почему алгоримы в Фортране практически невозможно перекладывать на C. Всё дело в том, что в параметрах библиотечных функций как правило содержатся размерности многомерных массивов с переменными размерами, которые на Ф. воспринимаются нормально, а в С этого просто НЕТ. Пришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 15:11:04 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
2 Paradoxx: ParadoxxНу хотя бы что то на подобие STL... Конечно физически не вариант сделать STL для С, но имею ввиду добавить что то для работы со стандартными структурами данных итп... На практике, STL-списки (std::list) часто неудобны и влекут искусственный overhead. Интрузивные списки удобнее, их часто используют, когда пишут на чистом C (см., например, списки в Wine ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2009, 16:39:29 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
VowkПришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С. Мдааа ... а про массивы массивов Вы слышали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 08:44:28 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)VowkПришлось городить процедуры преобразования многомерных индексов в одномерные и обратно - еле вывернулся, но ожидаемого эффекта от приведенного мною примера не получилось. Идея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С. Мдааа ... а про массивы массивов Вы слышали ? Может у него какой-то особо уникальный случай? Никак не пойму, чего ему в С не хватило... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2009, 10:28:42 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
авторИдея о переводе алгоритмов с Ф. на С могла родиться у кого угодно, но только не у тех программистов, которые имеют навыки элементарной практической работы на Ф. и С. Идея портирования математических алгоритмов с фортрана на си могла родиться у тех программистов, которым приходилось программировать алгоритмы в которых длина массивов, необходимых для хранения данных была заранее неизвестной и постоянно изменялась в процессе работы алгоритма. Попробуйте выполнить экономичное LU разложение разреженной матрицы с произвольным порядком упорядочивания её элементов и Вы сразу поймёте о чём я говорю. Может быть в более поздних версиях фортрана появилась возможность динамической аллокации памяти, последний фортран на котором я писал был кажется 67, там этого не было. Поэтому там такие проблемы решались вообщем то методом тыка. Хотя я должен признать что некий цимес в Ваших словах есть. Массивы в фортране при передаче их в функции и процедуры допускают полиморфное поведение, в си этого нет просто по определению - тип параметров объявлается в сигнатуре метода а не в его теле как в фортране. В чистом си не эквивалентная, но сходная функциональность достигается путём применения указателей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 18:16:21 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Попробуйте на С написать библиотечную подпрограмму, которая находит произведение ... нет, пусть просто сумму двух матриц A(m,n,p) + b(m,n,p) = с(m,n,p) - и далее разговор более предметный пойдет. Обращение к подпрограмме предполагается что-то в роде sum_matr(m,n,p,a,b,c). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 18:34:10 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
+ Сами матрицы A,B,C определены в вызывающей программе что-то вроде Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 18:43:36 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
mikhail_n wrote: > Идея портирования математических алгоритмов с фортрана на си могла > родиться у тех программистов, которым приходилось программировать > алгоритмы в которых длина массивов, необходимых для хранения данных была > заранее неизвестной и постоянно изменялась в процессе работы алгоритма. +1. Самая главная причина была, пока не появилось в фортране динамическое выделение памяти. > Хотя я должен признать что некий цимес в Ваших словах есть. Массивы в > фортране при передаче их в функции и процедуры допускают полиморфное > поведение, в си этого нет просто по определению - тип параметров > объявлается в сигнатуре метода а не в его теле как в фортране. В чистом > си не эквивалентная, но сходная функциональность достигается путём > применения указателей. Адресной арифметики, а не указателей. Надо самому вычислять смещение элемента в многомерной матрице, написать функцию, ну или использовать С++. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 18:50:13 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Оставим проблемы распределения памяти на вызывающую программу (как в приведенном мною примере) - и всё равно это не спасет ситуацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 18:55:53 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. авторАдресной арифметики, а не указателей. Надо самому вычислять смещение элемента в многомерной матрице, написать функцию, ну или использовать С++. Речь немного о другом - как передать многомерный массив переменной размерности по всем индексам в функцию. Если Вы писали математику, то должны понимать, что Вам (мне по крайней мере) как программисту внутри функции удобнее работать с одномерным массивом используя адресную арифметику, но пользователь то ожидает видеть в сигнатуре метода многомерный массив (стереотипы знаете ли, раз матрица - значит двумерный массив, расчётная сетка в трёхмерной области - трёхмерный массив и т.д.). Ну так чего ж их не порадовать. Вообщем одно другого не подменяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 19:11:55 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
То есть Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 19:14:25 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
Рискну предположить, что этот пример не подвергался проверке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 20:11:04 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
вот читаю ваш ленивый спор про си/фортран, кто хитрее в перемножении матриц, а на практике (в работe, за которую вам деньги платят) вы это три фишки в комбинации вообще использовали? или просто здесь воздух трясете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2009, 23:18:55 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
к е к свот читаю ваш ленивый спор про си/фортран, кто хитрее в перемножении матриц, а на практике (в работe, за которую вам деньги платят) вы это три фишки в комбинации вообще использовали? или просто здесь воздух трясете? При реализации численных методов на Ф. подобная обработка многомерных массивов используется повсюду, я привел лишь очень упрощенный вариант для объяснения почти принципиальной невозможности перевести библиотеки Ф. по численным методам на С, а не то, что там у кого-то нехватило времени, денег или ещё каких-нибудь ресурсов или понаписано на Ф. очень много - и поэтому не вышло. Просто удивляюсь, как можно было много лет выносить на обсуждение этот вопрос при том, что достаточно простенького теста для выяснения бесперспективности этой затеи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 06:40:34 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
VowkРискну предположить, что этот пример не подвергался проверке. Что вас не устраивает в его примере? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 06:56:49 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
+ и еще отвечаю своим примером программистам-теоретикам на ценные указания про существование многомерных массивов в С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 07:01:19 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
XDiaBLo Что вас не устраивает в его примере? Сильные сомнения в том, что предлагаемый пример работает правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 07:04:17 |
|
||
|
Много ли новых проектов пишется на C
|
|||
|---|---|---|---|
|
#18+
VowkXDiaBLo Что вас не устраивает в его примере? Сильные сомнения в том, что предлагаемый пример работает правильно. Хмм, а реально, я тут слил ваши тексты: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. g++.EXE (GCC) 3.4.5 (mingw special)C:\Temp>g++ -c forthran.cpp forthran.cpp: In function `int main()': forthran.cpp:49: error: cannot convert `double (*)[((unsigned int)((int)DIM2))][((unsigned int)((int)DIM3))]' to `double***' for argument `4' to `void sum_matr(int, int, int, double***, double***, double***)' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 07:49:51 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=35995575&tid=1344463]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
4ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 375ms |

| 0 / 0 |
