Стоит ли изучать C как веб-разработчик? Буду ли я когда-нибудь этим пользоваться? [закрыто]

Это из форума cplusplus

В окнах:

#include 
#include 

std::string getexepath()
{
  char result[ MAX_PATH ];
  return std::string( result, GetModuleFileName( NULL, result, MAX_PATH ) );
}

В Linux:

#include 
#include 
#include 

std::string getexepath()
{
  char result[ PATH_MAX ];
  ssize_t count = readlink( "/proc/self/exe", result, PATH_MAX );
  return std::string( result, (count > 0) ? count : 0 );
}

Вкл. HP-UX:

#include 
#include 
#define _PSTAT64
#include 
#include 
#include 

std::string getexepath()
{
  char result[ PATH_MAX ];
  struct pst_status ps;

  if (pstat_getproc( &ps, sizeof( ps ), 0, getpid() ) < 0)
    return std::string();

  if (pstat_getpathname( result, PATH_MAX, &ps.pst_fid_text ) < 0)
    return std::string();

  return std::string( result );
}

13
задан Brian Webster 17 February 2013 в 18:16
поделиться

20 ответов

Во-первых, вы должны определить «веб-разработчик». Вы создаете веб-сайты или веб-программное обеспечение? Хотя обе эти задачи легко подпадают под категорию «веб-разработки», они несколько различаются с точки зрения набора навыков, необходимых для достижения успеха.

У вас больше шансов столкнуться с фоновой обработкой и файлом / операционная система взаимодействует с программным обеспечением, а не просто с веб-сайтом, и, таким образом, увеличивает вероятность использования низкоуровневого языка, такого как C.

Сказав это, вы когда-нибудь будете его использовать? Вряд ли. Десятки языков высокого уровня были введены для веб-разработки. С точки зрения веб-разработки, если вам приходится прибегать к C, скорее всего, потому, что у вас нет необходимых навыков в более подходящих языках. Помните огромное количество сайтов и программных решений различного размера, которые отлично работают на PHP и Rails.

Стоит ли учиться? Может быть. Если вы чувствуете, что вам нужны хардкорные навыки программирования, чтобы дополнить свои навыки веб-разработки, и у вас есть свободное время; Действуй. Если нет, не надо. Вам, вероятно, лучше вместо этого по-настоящему хорошо освоить Ruby / Rails.

3
ответ дан 1 December 2019 в 17:21
поделиться

Если вы узнаете, есть большие шансы на успех, в противном случае сомнений не будет.

1
ответ дан 1 December 2019 в 17:21
поделиться

Я говорю, я говорю, я говорю: Да ... но совсем немного.

По крайней мере, некоторые основы: строки, манипуляции с указателями ...

Даже если вы на самом деле никогда не используете его, вы гораздо лучше поймете проблемы с производительностью в языках с более высоким уровнем управления . Рассмотрим строки, с которыми мы работаем все время: ссылки жесткие Джоэл Спольски

1
ответ дан 1 December 2019 в 17:21
поделиться

Я скажу так. C - орехи. Он был написан задолго до того, как люди думали полностью объектно-ориентированным образом. Это выведет из вас все дерьмо. Его трудно понять ПОСЛЕ изучения вещей так, как вы их знаете сейчас.

Но это очень помогает понять, как все работает. Это отличный язык, который поможет вам перейти на другие языки, потому что большинство современных языков унаследованы от него или построены на нем (синтаксис, конструкции данных и т. Д.).

Более того, как Ruby / Rails, так и PHP в значительной степени основаны на C. поддерживающих библиотек написаны на C для этих языков. Это безумно быстро, потому что он компилируется и довольно низкоуровневый, имеет гораздо меньший API, чем PHP или Ruby / Rails.

Я определенно рекомендую выучить его, даже если выучить новый язык просто для удовольствия. Мой профессор всегда говорил мне: «Если вы дадите мне руководство и проект, над которым стоит поработать, я выучу любой язык». Так что, если вы найдете эти две вещи, дерзайте!

1
ответ дан 1 December 2019 в 17:21
поделиться

Although I don't use C anymore, I find it useful to be able to talk to other programmers in their language. You may not have the expertise to solve a particular problem yourself, but you can talk intelligently to someone who can.

The same goes the other way, of course.

And, as pointed out above, C is the foundation of just about every other language that has come after it.

1
ответ дан 1 December 2019 в 17:21
поделиться

Speaking from my own experience, insofar as going from Python to C (and back again, woo!): Yes - learn it.

If you haven't already, learn fundamental, low level data structures; learn them well.

Learn what really makes an HTTP post tick, maybe write some low level debugging tools for yourself and others. It's amazing at how "under the hood" you can get in web development, when you can write an apache module. (Huzzah, bucket brigade!)

Learn the in's and out's of setjmp/longjmp, and perhaps come out with a better understanding of exception handling - that is, how it really works under the hood - in higher level languages.

You might never find yourself writing a line of C code for web development, but if you learn the language well, you'll be giving yourself an edge, all the same. Just be sure not to cut your toes off with it. (:

4
ответ дан 1 December 2019 в 17:21
поделиться

Изучение нового языка - всегда приятное занятие и положительно влияет на то, как вы программируете.

Собираетесь ли вы использовать C в веб-разработке? Ответ, скорее всего, нет. Если вы не собираетесь кодировать расширение PHP или собственный веб-сервер.

1
ответ дан 1 December 2019 в 17:21
поделиться

I don't think learning ANY new language is ever a "bad" idea. Specifically to C, it can only give you a better understanding of how the languages you are using run "underneath the hood".

4
ответ дан 1 December 2019 в 17:21
поделиться

As others have stated you may not use C, but there are still a number of important concepts relevant to computers and computer science. Some insights can be gained from such classic texts as C Programming Language, by Kernighan and Ritchie.

This includes

  • Example of very good documentation and writing style in explaining a language in a brief document. You'll find that the complete language is explained in a book not much more than 100 pages. Compare this with some of the tombs of books sold today which position themselves as teaching a language and yet are often more than rehashed API manuals.

  • Understanding pointers, memory management, arrays and character indexes. All good information which aligns with core computer subjects; albeit low level, but a worthy piece of information for an professional programmer.

  • Its an easy quick reference book. Again you won't break an arm lifting it and yet gain a lot of knowledge from it.

In general C is useful for those occasions when you really do have to get closer to the machine or need to extend a language through use of a C-API.

5
ответ дан 1 December 2019 в 17:21
поделиться

Learning Latin has it's benefits for understanding the structure of modern derived languages; so in that vein, I say why not?

6
ответ дан 1 December 2019 в 17:21
поделиться

I've found it very useful knowing C as a web developer. For example, one web app I've written includes a photo gallery. It stores the photos outside of the webroot so that it can check the user's permissions before showing the actual images.

Eventually, I discovered that the overhead for displaying a page full of image thumbnails was incredibly high using the web app in PHP. So, I rewrote the actual photo display code in C as a cgi program, which reduced the overhead to almost nothing.

7
ответ дан 1 December 2019 в 17:21
поделиться

Not really. If anything, learn C because it is fun, and a great language to help you learn more about system internals. Working on web development is very high-level, and you won't get much chance to really get in-depth with the system. Using C can help you better understand how instructions are executed at a low level, how memory management works, and how to create a lot of the things that PHP / Ruby have built in.

7
ответ дан 1 December 2019 в 17:21
поделиться

Joel Spolsky urges computer science students to learn C:

"Advice for Computer Science College Students" (January 2005)

8
ответ дан 1 December 2019 в 17:21
поделиться

The unending pain of getting C programs to actually work reliably will teach you a lot about why PHP is a more civilized way to write software.

And yes, you'll use it eventually.

Some day you'll run across a problem ill-suited to PHP or Ruby. You'll be able to fall back to C and look like a hero because you know something more than other folks.

9
ответ дан 1 December 2019 в 17:21
поделиться

You'll probably never have to use it, so if you just aim at "usability" just forget it. However, learning C is a good way to get a grasp on the fundamentals of programing. You'll probably gain a much deeper understanding of PHP and RoR for free.

Bug generally, if you feel confident in your languages, no -- it's not worth the price ;).

2
ответ дан 1 December 2019 в 17:21
поделиться

Альтернативные издержки изучения C высоки - вместо этого вы можете узнать что-нибудь практическое.

Если вы веб-разработчик и хотите им и дальше, то, вероятно, будет больше смысла для вы узнаете что-то более подходящее для вашей области: Ruby и выясните, как работает Ruby On Rails, Python и как работает Django, C # и как работает MSFT MVC. Или Flex. Или JavaScript и mooTools / JQuery.

Изучая C, вы можете получить множество базовых концепций информатики, но, вероятно, вам никогда не придется его трогать. Когда / если вы это сделаете, вы тогда узнаете это.

Если вы хотите изучать информатику (а не только программирование более низкого уровня), вы можете попробовать Project Euler или литературу по алгоритмам, операционным системам и т. Д.

-1
ответ дан 1 December 2019 в 17:21
поделиться

Обучение языки никогда не бывает плохим. Но как веб-разработчику я думаю, что вам лучше потратить время на отработку другой технологии. Я копался в Rails и Java, но думаю, что если бы я действительно хотел узнать что-то новое как веб-разработчик, , я бы поверил Django, движку приложений Google, javascript, silverlight, flash .. ... и несколько других технологий еще до того, как я даже подумал о c.

0
ответ дан 1 December 2019 в 17:21
поделиться

Изучение других языков - всегда хорошая идея. C великолепен, потому что тонна языков официально или неофициально основаны на нем, и знание того, что происходит на более низком уровне, может только помочь.

OTOH, чтобы действительно улучшить ваши знания, я бы посоветовал изучение языка, который настолько сильно отличается от того, что вы знаете, - Erlang, LISP, Haskell, Smalltalk ...

1
ответ дан 1 December 2019 в 17:21
поделиться

Всегда хорошо изучать новый язык, так как вы уже используете Ruby и Rails framework. Знания о программировании на C пригодятся, когда вы попытаетесь подробно изучить язык сценариев Ruby, поскольку Matz Ruby Interpreter или MRI написан на C. А также большинство веб-серверов написаны на языках программирования C и C ++.

Если у вас есть идея, как работают веб-серверы, вы получаете преимущество в создании масштабируемых приложений, а также сможете проанализируйте плюсы и минусы веб-серверов, на которых вы развертываете свое приложение.

«Будьте мастером на любом языке программирования и в любой момент своей карьеры» ....:)

1
ответ дан 1 December 2019 в 17:21
поделиться

На мой взгляд, для тех, кто пишет программное обеспечение, которое работает на компьютере, обучение C, похоже на изучение латинской или греческой для ученого антропологии или литературной науки.

Значительный орган работы, которая была достигнута в разработке программного обеспечения сегодня, было сделано в C, и это то, что вы действительно хотите узнать: это не так много о написании вашего программного обеспечения в C, речь идет о том, чтобы быть в состоянии понять. И что это возможно, и что было сделано. Были все происходит, а также, почему мы двигаем все больше и больше от C во многих областях.

Счастливые Segfaults! ; -)

0
ответ дан 1 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: