View Full Version : User Scripting Level Poll
Scott Ayers 06-04-2010, 05:52 PM Since people are continuing to download my Coffee Bible document. I was thinking about going back to it and update it again. And maybe change the format over an indexed .pdf file.
But what I'm curious to know is if the people downloading it are using it mostly as a reference guide that supports the Maxon SDK(as it was intended to be).
Or if most people are using it as their first steps into scripting in C4D.
If most people are using it as their entry point to scripting. Then updating it by adding more function definitions to it probably won't make much sense.
I kinda think it's a good idea to take a poll anyway and see where people are at. So other people thinking about making scripting tutorials know what direction to go in.
-ScottA
|
|
Jorge Arango
06-04-2010, 10:43 PM
I'm using it for both and it's been an invaluable help. But I guess the future lies in python, however, there's more information (regarding C4D) on COFFEE than on python, so I keep using COFFEE.
Scott Ayers
06-04-2010, 11:42 PM
Yeah. I knew there would be some people who are in that gray area.
But I wanted to force those people in that gray area to do some thinking and decide which area they fit into the best.
If there ends up being enough people that vote " I'm still trying to learn the basics". Then there's probably no reason for me to continue working on a reference document.
And perhaps that will lead to the creation of more intro to scripting videos instead.
I'm watching the Python development. And right now I'm not seeing a whole lot of example based documentation for that either. But Sebastian is still very busy with the actual porting. So we'll need to give him more time.
I really, really don't want to have to make a Python Bible too. I'm already hip deep in learning four other languages as it is. So I'm really hoping he will eventually give the docs some lovin'. Or maybe someone else will create an example based reference for it.
But you folks out there have to vote and let everyone know where you're at. And what type of help you need the most in order for them to happen.
I would personally love to see some video tutorials on using C4D's C++ API with Visual Studio.
Scripting and programming logic is the easy part. Trying to understand people's API's is where I find things to be the most frustrating.
-ScottA
Cairyn
06-05-2010, 10:57 AM
Yeah. I knew there would be some people who are in that gray area.
But I wanted to force those people in that gray area to do some thinking and decide which area they fit into the best.
If there ends up being enough people that vote " I'm still trying to learn the basics". Then there's probably no reason for me to continue working on a reference document.
And perhaps that will lead to the creation of more intro to scripting videos instead.
I'm watching the Python development. And right now I'm not seeing a whole lot of example based documentation for that either. But Sebastian is still very busy with the actual porting. So we'll need to give him more time.
I really, really don't want to have to make a Python Bible too. I'm already hip deep in learning four other languages as it is. So I'm really hoping he will eventually give the docs some lovin'. Or maybe someone else will create an example based reference for it.
But you folks out there have to vote and let everyone know where you're at. And what type of help you need the most in order for them to happen.
I would personally love to see some video tutorials on using C4D's C++ API with Visual Studio.
Scripting and programming logic is the easy part. Trying to understand people's API's is where I find things to be the most frustrating.
Indeed, it's rarely the language (although some of the scripting languages are rather compressed and cryptic for my taste), it's the API - interface and internal structures - plus the "best practices" - the way structures should be built and API methods should interact. Language specialties (and completeness) aside, the API should even be the same for different languages, so once you know the API, you just have to adapt the framework.
(Unfortunately, the COFFEE API is stunted and doesn't have the same capabilities as the C++ API - but the structures that are manipulated are still the same.)
My answer to your question would be: I know how to program, I know my way around 3D transformations, I know how to read the API documentation, but I'm missing much info about the way the API should be called for a specific purpose. Sometimes I even miss a simple answer about "can I do this with C4D API calls at all".
But srsly, video tutorials for programming? My complete and utter loathing of video tutorials in general aside, I really doubt that video is the right medium for learning API structure and programming. Why not annotated samples as text?
Scott Ayers
06-05-2010, 02:55 PM
Text tutorials are fine. I just tend to like videos better. But I'll take either at this point.
I was actually talking about a coding with the API primer. Rather than anything super advanced. Something that runs through the process of creating a plug-in from scratch and shows what Maxon's thought process is for doing things.
I thought if I learned how to create simple OOP programs with C++ . The Maxon SDK would just fall into place for me. But it didn't because they do things their own way. Which is tough for me(us) to understand a lot of the time.
I guess thats' the case with most software. Learning to access their API's seems to be a unique skill all by itself. And just knowing the language and basics of OOP doesn't help you out as much as I thought (hoped) it would .
-ScottA
Cairyn
06-05-2010, 03:27 PM
That is more true for the Maxon API than for others, even.
To understand the basics in the C++ API, you need to:
Understand how the plugin is linked to the system, what methods it must provide, and when these methods are called by the core program - which is different for each plugin type.
Know the tree hierarchy, the linkage, and most important: the container principle.
Have a notion about the Undo system and the threading.
Learn the GUI concept, which is an abstraction one layer above the native OS GUI, and linked with the container concept. Also: multiple language support.
Be educated in 3D transformations, matrices, vectors, and the way they are implemented in C4D.
Know the render process and the sequence in which plugins are called when an image is rendered.
All this in addition to
knowing the OOP paradigm and its consequences and applications
the design pattern abstractions that deal with some general programming methodology
the language (C++) with its syntax and semantics as carrier for the OOP abstractions
the language's libraries as far as they work within the C4D concept
the specific 3D mathematics that is the foundation for matrix and vector operations
plus a number of generic programming and math solutions.
Oh, and you have to know how your IDE (e.g. Visual Studio) works, too.
It ain't easy doing 3D :-)
(And apparently it ain't easy writing formatted text on this forum, too...)
ernia
06-05-2010, 09:14 PM
I wonder if this doesn't exemplify an interesting phenomenon in our industry--and in related technology industries: two different mind sets converging on the use of a single tool. 3D applications (like C4D) are able to provide a home for the left-brained, procedural, syntactical people as well as the right-brained, contextual, visual people.
I think the particular problem here is that right-brained people are starting to get into a bit of programming and it is very uncomfortable for them. I'm speaking mostly for myself and am assuming that there are many right-brainers out there feeling the same way. If you're a left-brained person I also assume that programming will come more easily for you because you might feel more comfortable learning it. The problem for me, at least, is how to understand all this linear data/information called code in a visual way. I guess that leads to an obvious question: CAN it be understood in a visual way? Maybe there are two halves of the brain for a reason? Are the wannabe right-brained programmers SOL?
See, I WOULD benefit from videos that I can see and hear more so than I would parsing more syntactical documentation.
About the API's--they are very cryptic for me, as well. Embarrassingly, it took me a few hours to learn that the brackets [] used in the Python API's command syntax really mean OPTIONAL. It is not necessary to use these arguments in a particular function if I don't want to. It's little things like that can really derail a right-brainer.
Anyone else in the same boat?
As you can probably guess, I ticked the "I'm still trying to learn the basics" box :thumbsup:
Arik
caraffi
06-05-2010, 11:08 PM
Scott this has helped tremendously to get my feet wet. So yes I'm using it for a beginers guide so to speak and greatly appreciate the effort put forth... Looking forward to update...
Cairyn
06-06-2010, 11:12 AM
I wonder if this doesn't exemplify an interesting phenomenon in our industry--and in related technology industries: two different mind sets converging on the use of a single tool. 3D applications (like C4D) are able to provide a home for the left-brained, procedural, syntactical people as well as the right-brained, contextual, visual people.
I think the particular problem here is that right-brained people are starting to get into a bit of programming and it is very uncomfortable for them. I'm speaking mostly for myself and am assuming that there are many right-brainers out there feeling the same way. If you're a left-brained person I also assume that programming will come more easily for you because you might feel more comfortable learning it. The problem for me, at least, is how to understand all this linear data/information called code in a visual way. I guess that leads to an obvious question: CAN it be understood in a visual way? Maybe there are two halves of the brain for a reason? Are the wannabe right-brained programmers SOL?
See, I WOULD benefit from videos that I can see and hear more so than I would parsing more syntactical documentation.
About the API's--they are very cryptic for me, as well. Embarrassingly, it took me a few hours to learn that the brackets [] used in the Python API's command syntax really mean OPTIONAL. It is not necessary to use these arguments in a particular function if I don't want to. It's little things like that can really derail a right-brainer.
Hmm, it is likely that I have a greater affinity for programming, but of course I have many years of experience in programming in different languages, with different paradigms, and on different systems, so it's not just about your leaning, it is also about raw knowledge.
My aversion of videos has little to do with visual information vs. syntax - I like visual information, and I like screenshots in a text. I like even video, if it is embedded in the text and restricted to show relevant things only, like the realtime effect of a changing control, or a turntable presentation of a model, or a zoom effect on some detail.
It's the horrible navigation and the clumsy unwieldiness of a video-only tutorial. With a book / PDF / online help, I can skim over the text and "see" the relevant keywords; heck, I can even use a search function to browse for it.
With a video, not so much - I may scratch forward and back, but recognizing the place where the desired info is to be found requires a good deal of listening in to the spoken text. Drives me crazy! Even worse, when a video presents information for total beginners and I am explained for the umpteenth time how to create X and link it to Y, I have a hard time skipping forward to the next relevant new part. Because - I cannot know what the narrator is going to say; at best I can get my info from the current screen image, but I am burned by videos in which the presenter is using his mouse to circle hawklike around a more or less relevant menu item while babbling on and on (I can haz some after-effect for emphasis?), making it utterly impossible to find the next "jump-on" point.
A text (at least a good text) is structured. It has headlines and sub-headlines. It has bullet lists. It has emphasis in form of italic and bold text. It has paragraphs. It creates a sense of connection between screenshots and accompanying text by layout. Sometimes, it even has a sidebar with a keyword or a definition, a table for rows and columns of data, a diagram... Structure.
Compared with a well-formatted text, the majority of video tutorials are a horrible mess, an unstructured blob of monolithic information that is neither properly subdivided nor in any way searchable. This is only bearable when the video is really short and to the point (explaining a single tool, a single effect, a single method) - when a video rambles on for half an hour or even more to cover a whole module or process, it becomes a pedagogic train wreck.
You can improve a longer video by adding information that structures, and context that is visible even when scrubbing for a specific part of the video: titling, permanently showing something like "subtitles", giving onscreen keywords about what's just happening, emphasizing the "permanent screenshot" with add-on graphics. You can even show lists, tables, major points as presentation texts.
Just, the videos I have seen so far don't. They are made by either artists or programmers, and not by teachers. It's not the nature of a video tutorial that makes me hate them, it's the clumsy execution.
You can use a video tutorial for basic overview and first-time education. But not for later lookup. Using video tutorials excyclopedically is like ... watching two hours of National Geographic's Journey to Africa to find out about the gestation period of Thompson gazelles.
If you have a source for good video tutorials, by all means tell me.
That said, a good video tutorial may help you in programming, too. But given the nature of program texts - they need to be read and understood, at the pupil's leisure -, I think that a good text simply provides a better teaching material because you can go through a text at your own speed, re-read, study. Understanding, getting a grasp on things, and the raw speed of learning may be influenced by right vs. left brain issues, but I think this is not the primary conflict. It's more beginner vs. professional; just-heard-of-it vs. ten-years-experience; hobbyist vs. doing-it-for-a-living.
The current documentation is very low-level in terms of the system, and very advanced in terms of needed experience, and very much lacking the interconnection of the calls (basic examples). That, in connection with the demanding concept, makes it really, really difficult for beginners to get into plugin programming.
Just my 2 cents.
Scott Ayers
06-06-2010, 06:05 PM
Interesting factoid: Many burned out 80's rock stars became programmers.
These guys aren't known for being rocket scientists. So why did this trend happen?
Answer: Programming is actually a very visual and imaginative artistic talent. Once you get past the massive amount of needlessly overly complex terminology that's used to describe very simple things.
The problem with most tutorials(and many SDK's) is they are done by people who have been doing it for a long time. And know what they're doing.
They've lost the ability to think like the average person who's new to it. So they end up doing too much assuming when doing their tutorials and documentation.
Once a person gets to the level where terms like Enumeration, Instantiation, Polymorphism, Overloading, Inheritance, etc. become so common place that they don't even think about what they mean anymore. That person is typically no longer able (or interested) to think like a newbie anymore.
This isn't a programming phenomenon. It's a human one.
Think back to the first time you asked for help on any subject. Someone probably gave you an overly technical answer that you didn't understand. And you had to say something like "Can you simplify that please?". Or "Can you give me an example?"
That happens because the person providing the help has forgotten how to think like a newbie.
That communication problem happens everywhere. But it tends to be more prevalent in programming discussions due the way programmers have adopted this insanely overly technical way of describing the simplest methods and processes.
It's lunch time here.
So I'm going to declare some bread and lunch meat. And instantiate a sandwich.:p
-ScottA
Cairyn
06-06-2010, 08:03 PM
So I'm going to declare some bread and lunch meat. And instantiate a sandwich.:p
I hope it's not a singleton!
c4d-jack
06-15-2010, 11:08 AM
Many burned out 80's rock stars became programmers.
Could you name some?
Please don't tell me it's somebody from Whitesnake :D
Cheers,
Jack
Scott Ayers
06-15-2010, 02:50 PM
Isn't Whitesnake still playing?
I don't follow them. But I could have sworn they were the band that was involved in a bar fire where a bunch of people got killed a few years ago.
I saw a video interview someone gave in the 90's (can't remember who) and he mentioned that he became a programmer after the music scene dried up for him. And he also said that many other musicians did the same thing. Because it allowed them to use the same creativity skills as playing music.
-ScottA
c4d-jack
06-15-2010, 03:53 PM
Isn't Whitesnake still playing?
I don't follow them. But I could have sworn they were the band that was involved in a bar fire where a bunch of people got killed a few years ago.
Must have been due to their hair...
http://images.coveralia.com/autores/fotos/whitesnake7432.jpg
I saw a video interview someone gave in the 90's (can't remember who) and he mentioned that he became a programmer after the music scene dried up for him. And he also said that many other musicians did the same thing. Because it allowed them to use the same creativity skills as playing music.
That's a really interesting thought. Coding IS somehow like making music or painting. You create something new out of pure thought. Or, like Makka B once said: "Everything your mind can see, you can manifest physically."
I find the combination of dry science with music far more bizarre. Like Brian May, who's not only the lead guitar player of Queen, but also a doctor of astrophysics. ;-)
Cheers,
Jack
CGTalk Moderation
06-15-2010, 03:53 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.
vBulletin v3.0.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.