As a programmer, how often do you feel the need of creating your own laguage for your purposes?
Aakash Goel
Ranch Hand
Joined: May 26, 2008
Posts: 198
posted
0
While I was learning how to build compilers, my instructor always told me, "If you are a programmer, you will always find that none of the languages are appropriate and instead you'll be motivated to create your own personalized language...".
Good programming is in big part creating a new, domain specific language. A well written Java method should read like sentences in a language that was specifically designed for solving the problem at hand.
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Well, it depends on how you define a programming language. I am still amazed at how many configuration files became language like in my career. Clients keep asking for enhancements. And you keep adding features... Sooner or later, the tool gets a config file, because it is too complex to use a command line... the config file itselfs get complex... conditional constructs. looping constructs.... and you have something that is very similar to a programming language.
Aakash Goel wrote:
Do you as a programmer feel this?
I feel it as an artist and creative person. I don't think I ever feel it as someone trying to get work done.
I think I'd have to disagree with your instructor on this one, though I think the spirit of what he/she said is good: don't be satisfied with your tools. Always think about what their deficiencies might be--even in the language you're using. It will lead you to more creative solutions to problems. For some of us, that will actually result in a new programming language. But for most of us it means creating expressive APIs, using convention over configuration, automating grunt work that most people take for granted, etc.
The Passionate Programmer: Creating a Remarkable Career in Software Development
http://www.pragprog.com/titles/cfcar2/the-passionate-programmer
http://chadfowler.com
arulk pillai
Author
Ranch Hand
Joined: May 31, 2007
Posts: 3190
posted
0
One needs to be careful with being creative. In my view, in a quest to be creative, one should not start writing his/her own utility methods etc when there is a well proven API that does the same job. I have seen programmers reinventing the wheel. This can be dangerous and error prone. One needs to be astutute about where creativity should be applied.
Henry Wong wrote:Well, it depends on how you define a programming language. I am still amazed at how many configuration files became language like in my career. Clients keep asking for enhancements. And you keep adding features... Sooner or later, the tool gets a config file, because it is too complex to use a command line... the config file itselfs get complex... conditional constructs. looping constructs.... and you have something that is very similar to a programming language.
+1. That's my experience as well, and it's led me to explore the usage of lexers for handling those ever more complex config files.