NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed. (sponsored)
In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.
Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.
Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
We have now a ruby exam on JBB. What is about an C# exam? I think the language is quite popular and also very useful if working only on the Windows(R) Plattform. I could define a basic exam if there is interest for such an exam. But I think a basic exam for the first is enough. It should only aks questions about the language and it should not be too difficult -> No COM related things or ADO or ASP (Deeply CLR Knowledge) and no special .NET Parts like WCF or WF. Only an exam about the most important language features.
John,
Question on the vision for this site: It is called JAVA black belt. I understand having related technologies: Ruby, SQL, design, etc. I don't follow C# though as it directly competes with Java. I don't imagine many C# developers coming on a site with Java in the name. Or are you trying to make a "coders black belt" type thing?
I think a C# exam does not make the jbb site to a java site. It does not require expert knowledge only basic language features are covered. And I think it is not that bad if a developer knows more than one language. Additionally C# has more in common with Java than Ruby or other languages.
I have defined one basic and one intermediate exam.
I do not think that it will hurt the jbb platform.
Since I do not defined more exams like collections or reflection.
The exams are based on c#2.0 if it is recommended I can also define one for c#3.0.
C# 2.0 Basic(25)
---------------------------
Variables:(2)
Know the differences between a object and a stack variable.
Understand that a reference points to an object.
Know and use the following variable types:
int boolean float double decimal char byte short string
Identify the correct scopes for a variable(class,instance,method,local)
Know the difference between an object and a primitve type.
Identify that the keywords string and object are shortcuts for the classes:
System.String and System.Object
Arrays:(3)
Identify the two possible types of arrays in C#:
One-dimensional , Multidimensional, Jagged
Identify correct usages of the array types.
Write code to instantiate the different array types correctly.
Know the fact that all arrays are objects.
Operators:(3)
Write code that uses the following operators:
+,-,/,*, += , -= , *= , /= ,++, --
Write code with the following logical operators:
!=, ==, !, &= , &&, | , |= ,
Be aware of the difference between short circuit and normal expression evaluation.
Control Structures:(3)
Write code which uses the if-else, for, foreach, while, do-while, switch structures.
Objects: (2)
Write Code that instantiates an object.
Use the following objects: String , Object
Identify System.String as a immutable object.
Identify System.Object as the root of all classes.
Methods:(3)
Write code that defines methods according to the C# NamingConventions:
(ToString instead of toString in Java)
Declare Exceptions on a method
Write code that declares a variable parameter list on a method.
Declare ref and out parameters for functions.
Classes:(2)
Define a simple class according to the Naming Conventions.
Use the using keyword to import packages.
Define classes in a package.
Write static initializers for classes.
Write nested classes.‚
Exceptions:(2)
Use the try/catch/finally statement.
Resource Management:(2)
Write code that uses the using keyword to automatically release a IDisposable Object.
Write code that implements the IDisposable Interface correctly.
Identify the advantages of implementing IDisposable over using Finalizers and also the disadvantages
Garbage Collection:(2)
Know that the C# Language has a garbage collecting system.
Write code that releases objects.
Describe in short the GC algorithm and how to force the garbage collector to start a garbage collection.
Identify situations in which an object will be eligible for garabe-collection.
Identify the disadvantages of finalizers.
Know the fact the the compiler translates finalizers to a Finalize method which is not allowed to be written by the developer.
Write code that declares finalizers.
Collections:(3)
Write code that uses the following collection classes:
ArrayList, Hashtable, Queue and Stack
C# 2.0 Intermediate(25)
Enums(1)
Write code that declares an enum.
Write code that casts enums.
Write code that changes the ordinal order of enums
System.Object(2)
Override the following methods correctly:
HashCode, ToString, Equals
Component development:(3)
Write code that defines Indexer.
Write code that overloads the following operators:
+, - , ++, --, == , != , * , / ,
Identify operators which can only be overloaded in pairs(==, !=)
Write code that defines userdefined convertions both implicit and explicit.
Generics:(4)
Write code that declares generic classes and methods.
Write code that declare Type-Constraints on the generic declarations.
Use generic classes from the System.Collections.Generic package:
List, Queue, HashSet, Stack
Sorting(1)
Define a natural sort order with the interface IComparable and IComparer
Delegates:(4)
Write code that declares and uses delegates.
Be aware of the meaning of the + and - operator for delegates.
Write code that declares multicast delegates.
Write code that declares an event and register a delegate as an eventhandler.
Write code that declares anonymous methods.
Threads(4)
Write code that instantiate and starts thread.
Use the following functions from the thread class:
join, sleep, interrupt, yield
Use the class ThreadPool to execute tasks.
Write code that uses implicit locking with the Monitor class.
Write code that uses the Wait, Pulse and PulseAll methods of the Monitor class
Write code that uses the lock block.
Identify the advantages of using Monitor over lock blocks.
Inheritance(4)
Define a class hierachy.
Identify the fact that polymorphic class are deactivated by default in C#.
Use the virtual keyword to enable polymorphical calls.
Use the new keyword to redefine methods.
Use the override keyword to override methods.
Declare an Interface and be aware of the proper NamingConvention for interfaces( Interfaces should start with a uppercase IInterface because C# defines no implements).
Call superclass methods
Call superclass constructors.
Structures(2)
Write code that uses structurs
Identify valid keywords inside a structure.
Know the fact that the memory of a structure is allocated on the stack.
Identify a structure as a value type.
Define methods, constructors and properties inside a structure.
I understand your questions.
I'm used to go to Java conferences meet Java developers.
Once a year, I go to JAOO, a Java & .Net conference. It's quite different. Their sessions are made for developers. They don't consider that the world is splet into Java programmers and .Net programmers. I meet many developers having worked with both. They are IT developers before being Java or .Net. That made me think
We just open the door, as for Ruby.
When/if we'll have 5 successful .Net exams with an interested community around, I'm not against opening DotNetBlackBelt.com, or DevBlackBelt.com.
For the moment, let's make these guests feel home in our Java Community and show them how open we are.
I agree with John. However I understand also Jeanne. But I'm wondering about the marketing aspect of this move. It would be good idea to create sth like separated tiny little site for non-java exams, sth like an incubator. And create a separated knowledge points pool for these. Contributions points can be shared for among the all BlackBelt platform but i believe that we don't to add Java developers points for the passed Ruby exam.
I personally like Ruby a bit and look forward for sth similar to the JBB for Ruby programmers in order to exchange my knowledge with the Ruby professionals (since I'm not the one). However we need to encourage non-Java people to contribute and locating this exam on JAVAxxx page (as well as merging kng points gained with the Ruby exam with the java points) is not a good idea. I will deter the Ruby guys from our exams.
In general we should reconsider again the problem of multiple tracks (like Spring, Hibernate, SQL). Old single, knowledgePoints-based tracks is not an adequate model for a portal with such great amount of exams as JBB.
Possibility of having specialized minor-tracks in for example Ruby+Rails+SQL or JavaSE+SQL+Spring would be a much better idea. Don't you think so? John, are there any plans to design/deploy more tracks?
Regarding the exam. Benedikt, could you create the wiki page?
> I personally like Ruby a bit and look forward for sth
> similar to the JBB for Ruby programmers in order to
> exchange my knowledge with the Ruby professionals
> (since I'm not the one). However we need to encourage
> non-Java people to contribute and locating this exam
> on JAVAxxx page (as well as merging kng points gained
> with the Ruby exam with the java points) is not a
> good idea. I will deter the Ruby guys from our
> exams.
Ideally, we should make RubyBlackBelt.com, but I suggest that we focus on JavaBlackBelt.com for the moment. Welcoming a Ruby or C# exam is a kind of investment for the future. Setting up a whole community RubyBlackBelt.com is big effort, just to make people know the site and come.
For .Net, a partnership with Microsoft would ease to take the decision.
> In general we should reconsider again the problem of
> multiple tracks (like Spring, Hibernate, SQL). Old
> single, knowledgePoints-based tracks is not an
> adequate model for a portal with such great amount of
> exams as JBB.
>
> Possibility of having specialized minor-tracks in for
> example Ruby+Rails+SQL or JavaSE+SQL+Spring would be
> a much better idea. Don't you think so? John, are
> there any plans to design/deploy more tracks?
People taking "any" exam get rewarded through the belt track. The idea of mono-technology tracks was "certify" people in that technology.
Your idea of multi-technology tracks sounds more like learning paths to me. Users would go for a path and have a multi-exam goal, more sequential than a belt (in the belt system, they are too free).
C# Exam
At 7:03 AM on Jan 19, 2008, benediktSattler wrote:
Fresh Jobs for Developers Post a job opportunity
best regards
Benedikt Sattler
11 replies so far (
Post your own)
Re: C# Exam
Go ahead Benedikt.Create a wiki page with objectives similar to Java SE - Basic, for C#
John.
Re: C# Exam
Okay I will develop objectives and post them then there.regards
Benedikt
Re: C# Exam
John,Question on the vision for this site: It is called JAVA black belt. I understand having related technologies: Ruby, SQL, design, etc. I don't follow C# though as it directly competes with Java. I don't imagine many C# developers coming on a site with Java in the name. Or are you trying to make a "coders black belt" type thing?
Re: C# Exam
Hello!I think a C# exam does not make the jbb site to a java site. It does not require expert knowledge only basic language features are covered. And I think it is not that bad if a developer knows more than one language. Additionally C# has more in common with Java than Ruby or other languages.
I have defined one basic and one intermediate exam.
I do not think that it will hurt the jbb platform.
Since I do not defined more exams like collections or reflection.
The exams are based on c#2.0 if it is recommended I can also define one for c#3.0.
C# 2.0 Basic(25)
---------------------------
Variables:(2)
Know the differences between a object and a stack variable.
Understand that a reference points to an object.
Know and use the following variable types:
int boolean float double decimal char byte short string
Identify the correct scopes for a variable(class,instance,method,local)
Know the difference between an object and a primitve type.
Identify that the keywords string and object are shortcuts for the classes:
System.String and System.Object
Arrays:(3)
Identify the two possible types of arrays in C#:
One-dimensional , Multidimensional, Jagged
Identify correct usages of the array types.
Write code to instantiate the different array types correctly.
Know the fact that all arrays are objects.
Operators:(3)
Write code that uses the following operators:
+,-,/,*, += , -= , *= , /= ,++, --
Write code with the following logical operators:
!=, ==, !, &= , &&, | , |= ,
Be aware of the difference between short circuit and normal expression evaluation.
Control Structures:(3)
Write code which uses the if-else, for, foreach, while, do-while, switch structures.
Objects: (2)
Write Code that instantiates an object.
Use the following objects: String , Object
Identify System.String as a immutable object.
Identify System.Object as the root of all classes.
Methods:(3)
Write code that defines methods according to the C# NamingConventions:
(ToString instead of toString in Java)
Declare Exceptions on a method
Write code that declares a variable parameter list on a method.
Declare ref and out parameters for functions.
Classes:(2)
Define a simple class according to the Naming Conventions.
Use the using keyword to import packages.
Define classes in a package.
Write static initializers for classes.
Write nested classes.‚
Exceptions:(2)
Use the try/catch/finally statement.
Resource Management:(2)
Write code that uses the using keyword to automatically release a IDisposable Object.
Write code that implements the IDisposable Interface correctly.
Identify the advantages of implementing IDisposable over using Finalizers and also the disadvantages
Garbage Collection:(2)
Know that the C# Language has a garbage collecting system.
Write code that releases objects.
Describe in short the GC algorithm and how to force the garbage collector to start a garbage collection.
Identify situations in which an object will be eligible for garabe-collection.
Identify the disadvantages of finalizers.
Know the fact the the compiler translates finalizers to a Finalize method which is not allowed to be written by the developer.
Write code that declares finalizers.
Collections:(3)
Write code that uses the following collection classes:
ArrayList, Hashtable, Queue and Stack
C# 2.0 Intermediate(25)
Enums(1)
Write code that declares an enum.
Write code that casts enums.
Write code that changes the ordinal order of enums
System.Object(2)
Override the following methods correctly:
HashCode, ToString, Equals
Component development:(3)
Write code that defines Indexer.
Write code that overloads the following operators:
+, - , ++, --, == , != , * , / ,
Identify operators which can only be overloaded in pairs(==, !=)
Write code that defines userdefined convertions both implicit and explicit.
Generics:(4)
Write code that declares generic classes and methods.
Write code that declare Type-Constraints on the generic declarations.
Use generic classes from the System.Collections.Generic package:
List, Queue, HashSet, Stack
Sorting(1)
Define a natural sort order with the interface IComparable and IComparer
Delegates:(4)
Write code that declares and uses delegates.
Be aware of the meaning of the + and - operator for delegates.
Write code that declares multicast delegates.
Write code that declares an event and register a delegate as an eventhandler.
Write code that declares anonymous methods.
Threads(4)
Write code that instantiate and starts thread.
Use the following functions from the thread class:
join, sleep, interrupt, yield
Use the class ThreadPool to execute tasks.
Write code that uses implicit locking with the Monitor class.
Write code that uses the Wait, Pulse and PulseAll methods of the Monitor class
Write code that uses the lock block.
Identify the advantages of using Monitor over lock blocks.
Inheritance(4)
Define a class hierachy.
Identify the fact that polymorphic class are deactivated by default in C#.
Use the virtual keyword to enable polymorphical calls.
Use the new keyword to redefine methods.
Use the override keyword to override methods.
Declare an Interface and be aware of the proper NamingConvention for interfaces( Interfaces should start with a uppercase IInterface because C# defines no implements).
Call superclass methods
Call superclass constructors.
Structures(2)
Write code that uses structurs
Identify valid keywords inside a structure.
Know the fact that the memory of a structure is allocated on the stack.
Identify a structure as a value type.
Define methods, constructors and properties inside a structure.
best regards
Benedikt Sattler
Re: C# Exam
I agree with Jeanne.Having C# exam on JavaBlackBelt is not opt I feel since it is competing technology to Java, and is no where used by a Java programmer as of I know.
On the otherside, C# programmers wont come to the place where there is a word "Java", to take the exam.
For any other marketting reasons, if John likes to have this exam, then I dont know, and no objections at all..
thanks,
Amzad Basha.
Re: C# Exam
Jeanne, Amzad.I understand your questions.
I'm used to go to Java conferences meet Java developers.
Once a year, I go to JAOO, a Java & .Net conference. It's quite different. Their sessions are made for developers. They don't consider that the world is splet into Java programmers and .Net programmers. I meet many developers having worked with both. They are IT developers before being Java or .Net. That made me think
We just open the door, as for Ruby.
When/if we'll have 5 successful .Net exams with an interested community around, I'm not against opening DotNetBlackBelt.com, or DevBlackBelt.com.
For the moment, let's make these guests feel home in our Java Community and show them how open we are.
I hope this answer your questions.
Kind regards.
John.
Re: C# Exam
Hmm.. It sounds good. I am convinced...Thanks John!
Cheers!!
Amzad Basha.
Re: C# Exam
HiI agree with John. However I understand also Jeanne. But I'm wondering about the marketing aspect of this move. It would be good idea to create sth like separated tiny little site for non-java exams, sth like an incubator. And create a separated knowledge points pool for these. Contributions points can be shared for among the all BlackBelt platform but i believe that we don't to add Java developers points for the passed Ruby exam.
I personally like Ruby a bit and look forward for sth similar to the JBB for Ruby programmers in order to exchange my knowledge with the Ruby professionals (since I'm not the one). However we need to encourage non-Java people to contribute and locating this exam on JAVAxxx page (as well as merging kng points gained with the Ruby exam with the java points) is not a good idea. I will deter the Ruby guys from our exams.
In general we should reconsider again the problem of multiple tracks (like Spring, Hibernate, SQL). Old single, knowledgePoints-based tracks is not an adequate model for a portal with such great amount of exams as JBB.
Possibility of having specialized minor-tracks in for example Ruby+Rails+SQL or JavaSE+SQL+Spring would be a much better idea. Don't you think so?
Regarding the exam. Benedikt, could you create the wiki page?
Best regards.
Re: C# Exam
I tried to create a wiki for the exam but every attempt to create a page yields in an unauthorized url access error.best regards
Benedikt Sattler
Re: C# Exam
John, Nicolaus? Could sb check it out?Kind regards.
Re: C# Exam
Hi Henryk.> I personally like Ruby a bit and look forward for sth
> similar to the JBB for Ruby programmers in order to
> exchange my knowledge with the Ruby professionals
> (since I'm not the one). However we need to encourage
> non-Java people to contribute and locating this exam
> on JAVAxxx page (as well as merging kng points gained
> with the Ruby exam with the java points) is not a
> good idea. I will deter the Ruby guys from our
> exams.
Ideally, we should make RubyBlackBelt.com, but I suggest that we focus on JavaBlackBelt.com for the moment. Welcoming a Ruby or C# exam is a kind of investment for the future. Setting up a whole community RubyBlackBelt.com is big effort, just to make people know the site and come.
For .Net, a partnership with Microsoft would ease to take the decision.
> In general we should reconsider again the problem of
> multiple tracks (like Spring, Hibernate, SQL). Old
> single, knowledgePoints-based tracks is not an
> adequate model for a portal with such great amount of
> exams as JBB.
>
> Possibility of having specialized minor-tracks in for
> example Ruby+Rails+SQL or JavaSE+SQL+Spring would be
> a much better idea. Don't you think so?
> there any plans to design/deploy more tracks?
People taking "any" exam get rewarded through the belt track. The idea of mono-technology tracks was "certify" people in that technology.
Your idea of multi-technology tracks sounds more like learning paths to me. Users would go for a path and have a multi-exam goal, more sequential than a belt (in the belt system, they are too free).
Kind regards.
John.