Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2013, 11:54   #1
АлексейLIP1980
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 8
По умолчанию Подскажите пожалуйста направление развития

Здравствуйте! Товарищи, подскажите правильный путь, не хочется тратить годы жизни на освоение того что потом не понадобиться. Я немного умею программировать на чистом СИ. Сфера моих интересов - микроконтроллеры, обработка 3D-моделей на станках с чпу, связь станка с компьютером. Я столкнулся с проблемой подготовки модели к фрезеровке. Есть готовый софт для такой проверки (Меджикс) но меня не устраивает - нужно много ручной работы. Я придумал несколько новых алгоритмов проверки полигональных сеток. Я писал письма создателям этого софта, они даже обещали рассмотреть в будужем, но за 5 лет вышли несколько новых версий, а мои предложения канули в лету. Хочу сам попробовать реализовать обработку массива точек и векторов. В основном нужен поиск по шаблону, мне кажется это будет реально . Под винду я не писал ни разу, только под микроконтроллеры на чистом СИ, с технологией классов пока знаком смутно. Интерфейс мне не нужен, удовлетворюсь консольным приложением или самым убогим интерфейсом. Но нужно нагрузить четырёхядерный комп полностью. Модель содержит от полмиллиона до нескольких миллионов вершин. Все их нужно проверить. Я не уверен что консольное приложение может поддержать несколько процессоров. И ещё несколько вопросов:
1 технологии MFC, QT, API - как я понял это всё для создания красивых интерфейсов, если интерфейс не главное, а главное алгоритм, то можно это даже не узучать.
2 Можно ли писать под винду на чистом СИ?
3. Если сфера интересов связь компьютера и станка, стоит ли смотреть в сторону таких языков как C#, VB.NET. они проще чем С++, как мне показалось. Есть в них управление портами? или они только для веб-приложений хороши?
4 Стандартная библиотека содержит в себе готовые алгоритмы сортировки, усреднения и тому подобного? где программисты берут блоки готовых алгоритмов?

Заранее благодарствую за совет
АлексейLIP1980 вне форума Ответить с цитированием
Старый 26.09.2013, 12:16   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

1. MFC устарело, на сколько знаю. С чего бы интерефейс - это не главное? Если программа выглядит на скрине как первая поделка школьника, её даже даром никто не скачает, не то, что купит.
2. Можно на чем угодно писать под винду. Если уж писать на С, то думаю это изврат высшей степени. Для этого можно использовать С в квадрате, он и удобен и от С недалеко упал. На С пишется разве что очень низкий уровень типа драйверов ФС и прочего, хотя могу и ошибаться. Дело мастера боится. Хотите С? Пишите.
3. Эти хороши для всего. Да, там есть управление портами.
4. В интернетах, в MSDN, в исходниках других проектов, у других программистов, пишут сами, в фреймворках.
Человек_Борща вне форума Ответить с цитированием
Старый 26.09.2013, 12:45   #3
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

да тонна софта написано на си. Почти весь юниксософт на сях.
the_deer_one вне форума Ответить с цитированием
Старый 26.09.2013, 13:26   #4
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от АлексейLIP1980 Посмотреть сообщение
1 технологии MFC, QT, API - как я понял это всё для создания красивых интерфейсов, если интерфейс не главное, а главное алгоритм, то можно это даже не узучать.
Можно не изучать.

Цитата:
Сообщение от АлексейLIP1980 Посмотреть сообщение
2 Можно ли писать под винду на чистом СИ?
Можно.


Цитата:
Сообщение от АлексейLIP1980 Посмотреть сообщение
3. Если сфера интересов связь компьютера и станка, стоит ли смотреть в сторону таких языков как C#, VB.NET. они проще чем С++, как мне показалось. Есть в них управление портами? или они только для веб-приложений хороши?
Можно по идее.

Цитата:
Сообщение от АлексейLIP1980 Посмотреть сообщение
4 Стандартная библиотека содержит в себе готовые алгоритмы сортировки, усреднения и тому подобного? где программисты берут блоки готовых алгоритмов?
Сам напишешь, не обломишься.
rpy3uH вне форума Ответить с цитированием
Старый 26.09.2013, 19:01   #5
АлексейLIP1980
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 8
По умолчанию

Цитата:
С чего бы интерефейс - это не главное? Если программа выглядит на скрине как первая поделка школьника, её даже даром никто не скачает, не то, что купит.
я совершенно не хочу быть профессиональным программистом, и чтоб мои программы скачивали. Мне програмирование нужно для решения собственных задач. Мой идеал программы вот: http://vraydoc.narod.ru/vray220/tools_img2tiledexr.htm Меня она устраивает, я бы хотел таких ещё десяток сам написать. Там вся программа максимум 100 кбт займёт

Про СИ я спрашивал потому что я его в чистом виде уже знаю, а вот всякие библиотеки типа STL, QT и WINAPI совсем не знаю. Чистый СИ достаточно понятный язык, он не сложнее бейсика, а вот С++ и особенно WINAPI - это страшный тёмный лес для новичка, я прочитал несколько книг и в голове осталась какая то каша. С++ он очень огромен - там есть решения на все случаи жизни. Просто я уже не студент и лично попробовать и понять разные языки наверное жизни не хватит, поэтому хочется откинуть те технологии которые лично мне не нужны. Я не говорю что они плохие - но для вас они основа вашей работы, а мне просто утилиток хочется написать под винду с простейшим убогим интерфейсом или просто консоль с батником.

И ещё хочу спросить. Существует Windows Embedded а ещё существует расширение для обычной винды RTX от компании IntervalZero. Якобы это расширение делает винду операционкой реального времени. А можно внедрить RTX под Windows Embedded? Вообще для этих задач давно придумана специальная ось - QNX. Просто я не разу её не видел и по ней почти нет книжек как по винде. Поэтому хочется продумать решение на базе винды - так легче освоить
АлексейLIP1980 вне форума Ответить с цитированием
Старый 26.09.2013, 20:17   #6
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Цитата:
Сообщение от АлексейLIP1980 Посмотреть сообщение
С++ он очень огромен - там есть решения на все случаи жизни. Просто я уже не студент и лично попробовать и понять разные языки наверное жизни не хватит
Да, я примерно представляю ситуацию. Обычно у человека, работающего с железом, бывает так называемое "моторное мышление". Предлагаю найти исходники какой-нибудь несложной программы под Windows, чтобы увидеть, как они пишутся.

В качестве конкретного примера хотел было посоветовать SlimFTPd, но он оказался на C++. Сам я на Delphi пишу, и навскидку ничего больше не вспомню. Скажем, есть еще и Far, и Miranda NG, но небольшой и несложной программой их язык не поворачивается назвать. Они тоже на C++.

А одной строкой ликбез по Windows звучит так: "Оконная программа состоит из WinMain и цикла обработки сообщений". По-моему, Visual Studio генерит как раз такой пустой проект. Консольный ввод-вывод можно вообще через WinAPI расписать, в нем нет ничего сложного.
Vapaamies вне форума Ответить с цитированием
Старый 27.09.2013, 07:55   #7
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию

Не удержался.
http://bartoszmilewski.com/2013/09/19/edward-chands/
the_deer_one вне форума Ответить с цитированием
Старый 27.09.2013, 08:18   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Я не понимаю зачем для этой задачи нужен С++, winapi, винда реального времени и работа с чпу. Обычная консольная программа на си, которая на входе получает одно, на выходе даёт другое и потом уже это другое специализированным софтом заливать на чпу. это ж для себя, а не продажи для, поэтому главное функционал реализовать, а с этим будет проще на си в данной ситуации.
pu4koff вне форума Ответить с цитированием
Старый 27.09.2013, 12:43   #9
АлексейLIP1980
Новичок
Джуниор
 
Регистрация: 26.09.2013
Сообщений: 8
По умолчанию

проблема вот в чём. Все станки основаны на такой идее, что есть шаговый двигатель и ходовой винт. Чётко известно сколько оборотов винта на сколько сдвинут каретку. Но это на теории, а на практике через некоторое время каретка и винты изнашиваются и станок начинает бракодельничать. Такие станки списывают на металл. Есть возможность выкупить подобный из чермета. Направляющие наплавляются и пришлифовываются, винт вытачивается самодельный, но про точность если честно после такого ремонта можно забыть. Ремонт должен делаться на спец предприятии, а не в гаражных условиях. У меня родилась идея - а что если отслеживать реальное положение рабочего инструмента в трёхмерном пространстве по меткам на нём. В этом случае на перекос каретки чхать. Но проблема в том, что такой объём расчётов нельзя сделать на микроконтроллерах, слишком большой объём. Есть спецоборудование но стоит безумных денег. Возникла мысль - а можно ли использовать обычный домашний комп с виндой. При каждом проходе он проверяет положение в режиме реального времени и вносит компенсацию в управляющую программу. Пока это только идея которая прорабатывается. Я вообще не уверен на 100% что это возможно. Знакомый програмист посмотрев на это сказал, что возможно, но нужно хорошо знать С++ и winapi. Я это апи уже полгода изучаю но пока что нахожу только там вызовы создания окон списков, один сплошной интерфейс. У меня вообще создалось впечатление что все вышеуказаные технологии - это всё ради интерфейса, и сам С++ это тоже ради кнопок. Я просто заблудился в этих технологиях.
АлексейLIP1980 вне форума Ответить с цитированием
Старый 27.09.2013, 12:52   #10
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,770
По умолчанию

Раз уж тут стали приводить ссылки, не могу не упомянуть статью на Хабре: "Большой Калькулятор выходит из под контроля".
Vapaamies вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите пожалуйста МаксMorfey Общие вопросы по Java, Java SE, Kotlin 1 11.10.2009 22:13
--==подскажите пожалуйста==-- HAMMAN Помощь студентам 3 20.01.2007 20:50
подскажите, пожалуйста, Lena2 Microsoft Office Excel 2 03.11.2006 17:38